Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从临时文件夹打开文件时,永久传输被拒绝_Java_Permissions_Ioexception - Fatal编程技术网

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的进程资源管理器来找出打开该文件的其他进程。