2016-12-12 6 views
0

NetBeansを使用してJavaでプロジェクトを実行しています。ファイルを変更する必要があります。だから私はファイル全体を別の一時ファイルに上書きしますが、最後には一時ファイルの名前を変更したり、メインファイルを削除することができませんでした。どんな解決策ですか?Javaでファイルの名前を変更して削除することができません

File tf = new File("F:\\nb\\project_inventory\\temp.tmp"); 

FileReader fr = new FileReader("F:\\nb\\project_inventory\\Employee_info.txt"); 
BufferedReader br =new BufferedReader(fr); 

FileWriter fw = new FileWriter(tf); 
PrintWriter bw =new PrintWriter(fw); 
String line; 
while((line=br.readLine())!=null) 
{ 
    if(line.contains(del_id)) continue; 

    bw.println(line); 
} 

bw.close(); 
fw.close(); 
br.close(); 
fr.close(); 
File real =new File("F:\\nb\\project_inventory\\Employee_info.txt"); 
real.delete(); 
tf.renameTo(real); 
+2

何が表示されているのですか。 – dildeepak

+0

fileWriterをprintWriterに渡しているのはなぜですか? 'PrintWriter bw = new PrintWriter(fw);' – user3437460

+0

どうすればいいですか? –

答えて

1

私は以下のように上記のプロジェクトラインの5を試してみましたが、望ましい結果を得た、

File real =new File("F:\\nb\\project_inventory\\Employee_info.txt"); 
    real.delete(); 

    File tf = new File("F:\\nb\\project_inventory\\temp.tmp"); 
    try{ 
     tf.createNewFile(); // for creating the new file 
     } 
    catch(IOException e){ 
     e.printstacktrace(); 
     } 
    File real =new File("F:\\nb\\project_inventory\\Employee_info.txt"); 
    tf.renameTo(real); 
TEMP.TMPがEmployee_info.txtと改名なっているようEmployee_info.txtも削除取得され

あまりにも。

try{ 
     File real =new File("F:\\nb\\project_inventory\\Employee_info.txt"); 
     real.delete(); 
    } 
    catch(IOException e){ 
     e.printstacktrace(); 
    } 

さらにあなたを助けるために、エラーメッセージを入力してください:

また、常に以下のような/ catchブロックを試し削除/内部の名前の変更のためのコードを配置することをお勧めします。

+1

@Stefan Dollaseキャッチブロックを変更しました。私の唯一の目的はtry&catchについて話すことでした。しかし、とにかく、指摘してくれてありがとう。 :) – dildeepak

+0

実際のファイルを削除したり、一時ファイルの名前を変更したりすることなく、自分の望む内容の一時ファイルを作成しています... –

+0

削除や名前変更のためのコード以外のすべての行をコメントアウトしてみてください。うまくいきます。 その後、残りのコードを精査することができます。 – dildeepak

関連する問題