如何在文件内容中使用正则表达式。我有一组文件,我想在所有文件中搜索一个字符串并替换所有文件。java在文件内容中的正则表达式
有人可以帮我吗?如下:
package com.java.far;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAll {
public static void main(String[] args)throws IOException {
Runtime r=Runtime.getRuntime();
System.out.println(r.freeMemory());
String path="D:\\JOBRELATED\\FAR";
String files;
File folder=new File(path);
File[] listofFiles=folder.listFiles();
for (int i = 0; i < listofFiles.length; i++) {
if (listofFiles[i].isFile()) {
files=listofFiles[i].getName();
if(files.endsWith("tex")){
System.out.println(files);
BufferedReader br=new BufferedReader(new FileReader("D:\\JOBRELATED\\FAR\\"+files));
String line;
while((line=br.readLine())!=null){
Pattern p=Pattern.compile("Diamond in History and Research");
Matcher m=p.matcher(line);
int count=0;
while (m.find()) {
count++;
//System.out.println(m.start() +"\t"+ count);
System.out.println(line);
m.replaceAll("abc");
}
}
}
}
}
}
}
是没可能只使用'sed'?啊......看起来像你在Windows上。 – Nishant 2012-08-09 05:26:52
请注意,正则表达式不适用于大文件。正则表达式本质上是递归的,在使用正则表达式处理大块数据时,会出现StackOverflow异常。 – 2012-08-09 06:09:13