나는 조건이 충족되는 경우 특정 라인을 각 라인을 통해 대한 기존 파일, 루프 액세스 (문자열로 문자열) 대신이 방법이 있습니다자바 fileinput 함수 (읽기 및 쓰기)
을FILE FTPDateTejas=2014/07/01 00:59:00
FILE FTPDateTejas=2014/09/10 00:00:00
을하지만 파일을 확인할 때, 날짜는 여전히 동일하게 유지하십시오 SYSOUT에서
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.InputStreamReader;
private void UpdateConfig() {
try {
FileInputStream fstream = new FileInputStream("c:\\user\\config.properties");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.contains("FTPDate=2014/07/01 00:59:00")) {
System.out.println("FILE " + strLine);
strLine.replace("FTPDate=2014/07/01 00:59:00", "FTPDate=2014/09/10 00:00:00");
//strLine.replace("((19|20)\\d\\d/(0?[1-9]|1[012])/(0?[1-9]|[12][0-9]|3[01])) ([2][0-3]|[0-1][0-9]|[1-9]):[0-5][0-9]:([0-5][0-9]|[6][0])", "2014/09/10 00:00:00");
System.out.println("FILE " + strLine);
}
}
in.close();
} catch (Exception e) {
}
}
은 그것의 존재가 대체 보인다. 내가 놓친 게 있니? 아무도 내가 놓친 것을 아는 사람? 당신이 일을 할 때
'replace'는 메모리의 문자열을 변경하지만 디스크는 변경하지 않습니다. 쓰기 위해 다른 파일을 열고 각 행을 써야합니다. –