파일 내용에 정규 표현식을 사용하는 방법. 나는 파일 그룹을 가지고 있는데, 나는 모든 파일에서 문자열을 검색하고 모든 파일에서 바꾸고 싶다.파일 내용에 자바 정규식
누구든지 나를 도와 줄 수 있습니까? 위장 위치는 다음과 같습니다.
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'를 사용하는 3. 루프 동적, 쉽게 만들 수 있을까요? 아 ... 윈도우 박스에있는 것처럼 보입니다. – Nishant
대용량 파일에서는 정규 표현식이 작동하지 않습니다. 그들의 특성상 Regexps는 재귀 적이며, regexp로 대량의 데이터를 처리 할 때 StackOverflow 예외가 발생합니다. –