2016-09-26 10 views
-1

ファイルを書き込んだ後にファイルを削除する際に問題があります。ここでファイルを書き込んだ後にファイルを削除できません

String xml = "blablaxml"; 
Path file = Paths.get("file.xml"); 
Files.write(file, xml.getBytes()); 

私はそれを削除する:ここではそれへの書き込みのコードがある

Files.deleteIfExists(file); 

エラー:

java.nio.file.FileSystemException: file.xml: The process cannot access the file because it is being used by another process. 

私は、コードをデバッグし、ちょうど削除しようとする前に、私はMicrosoft Process Explorerを使用したファイルで、そのファイルはどのプロセスでも使用されていないため、エラーを理解できません。

+0

を参照してください。ファイルを作成した後に、ソフトウェアで開くことができましたか? –

+0

本当にjava.nioを使用する必要がある場合は、同期モードを使用して書き込みます。 'Files.write(file、xml.getBytes()、StandardOpenOption.SYNC); ' –

+0

私はどのソフトウェアでも開いていませんでした。標準のOpenOption.SYNCを使用すると、NoSuchFileExceptionが発生します。 – Zbrana

答えて

-1

エラーメッセージはクリアです。ファイルが別のプロセスまたはスレッドによって使用されているため、ファイルを削除できません。削除する前にファイルへの書き込みが完了したら、ファイルストリームを閉じてください。 How to create a file and write to a file in Java?

+0

彼はjava.nioを使用しています。 –

+0

私の答えでリンクを見れば、それ以外の方法でファイルに書き込む方法を見ることができます。 – cdaiga

+0

私はすでに説明した答えを参照して私の何が間違っていますか? –

関連する問題