2 つのファイルを作成する JNI 経由で C++ メソッドを呼び出しています。指定されたディレクトリ内のテキスト ログ ファイルと pdf ファイル。JNI メソッドを実行する前に、これらのファイル (存在する場合) を削除したいと考えています。
そのために Apache commons.io (FileUtils.forceDelete(File file)) を使用しています。実行すると、IOException が発生します。
java.io.IOException: Unable to delete file: D:\Folder\file.log
File.canWrite() メソッドで delete メソッドを起動する前に、ファイルの書き込み可能状態を確認します。ファイルと親ディレクトリの両方に対して true を返します。
ファイルの削除に問題がある理由がわかりましたか? 私が知る限り、ファイルを作成している C++ メソッドは、メソッドの終了後にファイルを閉じたり、ロックを解除したりしています。とにかく、私は C++ コードのソース コードにアクセスできないので、それが本当に当てはまるかどうかを確認したり、コードを変更したりすることはできません。
ありがとう、マルコ