WindowsにA、B、Cの3つのディレクトリがあります。ディレクトリAに存在するファイルがあります。次のタスクを実行したい
- ディレクトリBにコピーします
- ディレクトリAから削除します(ファイルがどのプロセスにも保持されていなかったため、これは機能しました)
- ディレクトリCにコピーします
- ディレクトリBから削除します(動作しません)
手順 1、2、3 は正常に機能しますが、手順 4 では機能しません。ファイルが存在し、書き込み、読み取り、実行が可能です。Windows エクスプローラーを開いてディレクトリ B のファイルを手動で削除しようとすると、Java プラットフォーム SE バイナリで開かれているため、操作を完了できないと表示されます。以下は、ファイルをコピーするための私のコードです
FileInputStream in = new FileInputStream(source);
FileOutputStream out = new FileOutputStream(dest);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
Java 6 を使用しています。手順 4 を実行する方法を教えてください。