2013-05-04 155 views
2

我想打開一個文件,然後由線讀取它行。在一些行中,我想追加一個字符串到這一行。這可能嗎?如何逐行讀取文件並在每行中追加一些字符串?

我有打開文件和讀取它像下面這樣的代碼:

File file = new File("MyFile.txt"); 
BufferedReader bufRdr = new BufferedReader(new FileReader(file)); 

String line = null; 

try { 
    while((line = bufRdr.readLine()) != null) 
    { 
     // read line by line and append some string to the line 

    } 
} catch (IOException e) { 
    // ... 
} 

,但我怎麼能一個字符串追加到當前行,寫這個的文件嗎?

+1

你必須使用臨時文件。首先寫入臨時文件,然後重命名它。 – 2013-05-04 09:21:14

回答

1

當你在逐行讀取文件中的行。將文字追加到行並寫入其他文件。比如說用不同名稱的文件,稍後可以重命名該文件。

就像

try { 
    while((line = bufRdr.readLine()) != null) 
    { 
    // read line by line and append some string to the line 
    //pseudo code 
    newline = line + "yourtext"; 
    outputstreamtootherfile.write(newline); 

    } 
} 

我覺得這是沒有辦法,你可以讀取和寫入到同一個文件同時,因爲它擁有讀/寫鎖。

感謝

0

創建新的文件,並繼續寫入該文件(如您逐行讀取其他文件中的行),你想要的修改。然後刪除現有的文件,併爲新創建的文件指定刪除文件的名稱。這就是我如何處理它。

這裏是印證了這一做法非常久遠其他替代的鏈接。

Modify a .txt file in Java

0
  1. readLines讀線List<String>和改變一些字符串(行),如果你需要它
  2. 創建新的臨時文件
  3. 寫入線(或逐行)給它append
  4. 刪除舊文件
  5. 重命名
相關問題