Java 从临时文件夹打开文件时,永久传输被拒绝
在我的Java 从临时文件夹打开文件时,永久传输被拒绝,java,permissions,ioexception,Java,Permissions,Ioexception,在我的Temp文件夹中,有一个文件是从浏览器下载的。我正试图使用桌面API打开此文件,如下所示: File f = new File("C:/DOCUME~1/NJAGAD~1/LOCALS~1/Temp/7870249-0/1234567.pptx"); try { Desktop.getDesktop().open(f); } catch (IOException e) { // TODO Auto-generated catch bl
Temp
文件夹中,有一个文件是从浏览器下载的。我正试图使用桌面
API打开此文件,如下所示:
File f = new File("C:/DOCUME~1/NJAGAD~1/LOCALS~1/Temp/7870249-0/1234567.pptx");
try {
Desktop.getDesktop().open(f);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但它会产生如下错误:
java.io.IOException: Failed to open file:/C:/DOCUME~1/NJAGAD~1/LOCALS~1/Temp/7870249-0/1234567. Error message: Access is denied.
at sun.awt.windows.WDesktopPeer.ShellExecute(Unknown Source)
at sun.awt.windows.WDesktopPeer.open(Unknown Source)
at java.awt.Desktop.open(Unknown Source)
如果要访问windows分区中的文件夹,必须更改权限。否则将出现此异常。我也遇到了同样的问题,并出现了错误java.io.IOException:无法打开“PDF”文件。错误消息:访问被拒绝。以下解决方案解决了该问题 解决方案: 打开PDF阅读器 转到编辑-->首选项
常规-->选择默认处理程序-->选择Adobe产品-->应用-->确定-->重新启动计算机这99%肯定是权限问题,或者该文件在另一个程序中以独占方式打开。Java程序是否作为临时文件夹的所有者运行?使用Sysinternals的进程资源管理器来找出打开该文件的其他进程。