比方說,我有以下代碼:創建,使用Java語言編寫和編輯同一個文本文件
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class EditFile {
public static void main(String[] args) {
try{
String verify, putData;
File file = new File("file.txt");
file.createNewFile();
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Some text here for a reason");
bw.flush();
bw.close();
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while(br.readLine() != null){
verify = br.readLine();
if(verify != null){
putData = verify.replaceAll("here", "there");
bw.write(putData);
}
}
br.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
所有我想做的事是寫在一個文本文件的東西,在我的情況下,「一些文本這裏一個原因」。然後從我的文件中讀取數據,最後從「某些文本出於某種原因」中的「某些文本出於某種原因」在我的文件中更改我的文本。我運行了代碼,但它發生的只是在我的文件中寫入「某些文本出於某種原因」。
我試圖弄清楚我的代碼中可能出現了什麼問題,但不幸的是這是徒勞的。任何建議或重寫是高度讚賞從我。
問題是你無法從文件中讀取? –
你試圖做的事情沒有意義 - 你已經在'bw.close();'之後嘗試'bw.write'。此外,一般來說 - 你爲什麼要這樣做?如果你已經知道你想改變什麼 - 寫一次文件! (而不是寫作,閱讀和重寫) – alfasin
它的核心,我修改了它,並以某種方式工作。請檢查我從頁面底部的最後評論:)。無論如何,謝謝。 –