2016-12-04 24 views
0

如何從現有文件讀取並且是否包含特定字符串..i想要從該文件中刪除該行?如何在java中執行此操作?如果一個文件包含:同時在java中存在的文件中讀取和寫入數據

111 
222 
333 

,如果我需要輸入222,將刪除222和文件將是這樣的:

111 
333 

代碼:

File ef = new File("Employee_info.txt"); 
     File tf = new File("temp.txt"); 
     FileReader fr = new FileReader(ef); 
     BufferedReader br =new BufferedReader(fr); 
     FileWriter fw = new FileWriter(tf); 
     BufferedWriter bw =new BufferedWriter(fw); 
     String line; 
     while((line=br.readLine())!=null) 
     { 
      if(line.contains(del_id)) continue; 

      bw.write(line); 
      bw.newLine(); 
     } 
     bw.close(); 
     fw.close(); 
     br.close(); 
     fr.close();`    
+0

這看起來很簡單,所以很難確切知道到底發生了什麼問題。你可以添加你的當前代碼嗎? [mcve] –

回答

2

你通常要讀整個文件,然後寫入整個文件,通常爲了安全寫入臨時文件,然後在完成時刪除原始文件並將臨時文件重命名爲原始名稱。

+0

這就是我所要做的......但我無法重命名臨時文件或刪除以前的文件:/ –

+1

@RealSazzad如果您嘗試了某些內容,請發佈它,不要期望我們爲您編寫代碼。 –

+0

@EricDarchis我已經嘗試過,我已經發布上​​面..你可以幫我嗎? –