java.nio.file.FileSystemException: C:\p12\dummy.p12: 该进程无法访问该文件,因为它正被另一个进程使用
java.nio.file.FileSystemException: C:\p12\dummy.p12: The process cannot access the file because it is being used by another process
我有一个p12文件上传功能,代码如下:
-
然后我想创建一个删除p12文件的函数,代码如下:
-
而当我运行结果出现错误:
java.nio.file.FileSystemException: C:\p12\dummy.p12: The process cannot access the file because it is being used by another process.
有没有办法删除文件成功?
更新:
我发现了问题,显然是因为此函数中使用了 p12 文件:
-
还有办法删除p12文件吗?
异常告诉您有另一个进程打开了文件,因此无法删除。查看 Windows 中的系统进程(最有可能是应用程序),看看哪个应用程序打开了该文件。您是否在记事本等文本编辑器或命令行 shell 中打开了文件?你必须在那里关闭它才能删除它。
您打开文件
InputStream keyStoreStream = new FileInputStream(fileDir);
但是资源永远不会关闭。将相关部分包含在 try-with-resources 块中
Map<String, String> certSn;
try (InputStream keyStoreStream = new FileInputStream(fileDir)) {
certSn = = getP12Cert(keyStoreStream, passphrase.getPassphrase());
// set up your assigneeModel here
} catch (IOException e) {
// TODO throw or handle the exception however you need to
}
// rest of code here
我有一个p12文件上传功能,代码如下:
-
然后我想创建一个删除p12文件的函数,代码如下:
-
而当我运行结果出现错误:
java.nio.file.FileSystemException: C:\p12\dummy.p12: The process cannot access the file because it is being used by another process.
有没有办法删除文件成功?
更新: 我发现了问题,显然是因为此函数中使用了 p12 文件:
-
还有办法删除p12文件吗?
异常告诉您有另一个进程打开了文件,因此无法删除。查看 Windows 中的系统进程(最有可能是应用程序),看看哪个应用程序打开了该文件。您是否在记事本等文本编辑器或命令行 shell 中打开了文件?你必须在那里关闭它才能删除它。
您打开文件
InputStream keyStoreStream = new FileInputStream(fileDir);
但是资源永远不会关闭。将相关部分包含在 try-with-resources 块中
Map<String, String> certSn;
try (InputStream keyStoreStream = new FileInputStream(fileDir)) {
certSn = = getP12Cert(keyStoreStream, passphrase.getPassphrase());
// set up your assigneeModel here
} catch (IOException e) {
// TODO throw or handle the exception however you need to
}
// rest of code here