아래 코드에서 "DEMO"텍스트를 "Demographics"로 바꾸고 싶지만 텍스트를 바꾸는 대신 텍스트 파일의 전체 내용을 삭제합니다. 파일 내부코드는 텍스트를 바꾸는 대신 파일의 내용을 삭제합니다.
내용 : DEMO 데이터 아침
PS : 나는 자바 초보자 해요
당신은 당신의 파일에 작가를 열고,하지만 당신은 아무것도 쓰지 않는다package com.replace.main;
import java.io.*;
public class FileEdit {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
String readLine, replacedData;
try {
bw = new BufferedWriter(
new FileWriter(
"Demg.ctl"));
br = new BufferedReader(
new FileReader(
"Demg.ctl"));
System.out.println(br.readLine()); //I Get Null Printed Here
while ((readLine = br.readLine())!= null) {
System.out.println("Inside While Loop");
System.out.println(readLine);
if (readLine.equals("DEMO")) {
System.out.println("Inside if loop");
replacedData = readLine.replaceAll("DEMO","Demographics");
}
}
System.out.println("After While");
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
감사합니다. 그러나 파일의 내용을 대체하기 위해 Writer를 어떻게 열 수 있습니까? 내 코드에서 FileWriter를 제거해야합니까? – balajiv
'코드에서 새로운 FileWriter ("Demg.ctl")'이이 작성자를 생성합니다. 변수'bw'에 쓸 수 있습니다. –
대체 텍스트가 원본 텍스트와 길이가 다른 경우 파일의 일부 텍스트를 단순히 "바꿀"방법이 없습니다. 전체 파일을 출력에 복사하고 복사하는 동안 교체를 수행 한 다음 원본을 삭제하고 출력을 이전 이름으로 바꿔야합니다. –