2016-12-04 4 views
0

既存のファイルを読み込む方法と、特定の文字列が含まれている場合..iそのファイルからその行を削除します。ファイルが含まれている場合: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私は試しましたが、私はそれを上に投稿しました。あなたは今私を助けてください? –

関連する問題