我通过创建两个文件的 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++ 代码的源代码,因此我无法检查是否确实如此或修改代码。
谢谢,马可