0
在我的下面的代碼中,我想用「Demographics」替換文本「DEMO」,但不是替換文本,而是刪除文本文件的全部內容。代碼刪除文件的內容而不是替換文本
目錄裏面的文件: DEMO 數據 上午
PS:我是在Java初學者
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'。 –
如果替換文本的長度與原始文本長度不同,則無法僅僅「替換」文件中的某些文本。您必須將整個文件複製到輸出中,在複製時執行替換,然後刪除原始文件並將輸出重命名爲舊名稱。 –