Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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.io.FileNotFoundException:(权限被拒绝)_Java_Windows Vista_File Permissions - Fatal编程技术网

java.io.FileNotFoundException:(权限被拒绝)

java.io.FileNotFoundException:(权限被拒绝),java,windows-vista,file-permissions,Java,Windows Vista,File Permissions,我正在阅读vista上文档文件夹中的文件。fiel确实存在于指定的位置,但在尝试打开文件的输入流时,仍然出现以下错误 java.io.FileNotFoundException: (Permission denied) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at

我正在阅读vista上文档文件夹中的文件。fiel确实存在于指定的位置,但在尝试打开文件的输入流时,仍然出现以下错误

java.io.FileNotFoundException:  (Permission denied)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at rtran.dao.CustomerDAO.insertCustomer(CustomerDAO.java:29)
        at rtran.action.AddCustomerAction.execute(AddCustomerAction.java:22)
        at rtran.controller.Controller.actionPerformed(Controller.java:85)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
java.io.FileNotFoundException:(权限被拒绝)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:106)
位于rtran.dao.CustomerDAO.insertCustomer(CustomerDAO.java:29)
在rtran.action.AddCustomerAction.execute(AddCustomerAction.java:22)
在rtran.controller.controller.actionPerformed处(controller.java:85)
在javax.swing.AbstractButton.fireActionPerformed上(AbstractButton.java:1995)
位于javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
在javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:387)
在javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:242)
在javax.swing.plaf.basic.BasicButtonListener.mouseRelease(BasicButtonListener.java:236)
位于java.awt.Component.ProcessMouseeEvent(Component.java:6041)
位于javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3265)
位于java.awt.Component.processEvent(Component.java:5806)
位于java.awt.Container.processEvent(Container.java:2058)
位于java.awt.Component.dispatchEventImpl(Component.java:4413)
位于java.awt.Container.dispatchEventImpl(Container.java:2116)
位于java.awt.Component.dispatchEvent(Component.java:4243)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4322)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:3986)
位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
位于java.awt.Container.dispatchEventImpl(Container.java:2102)
位于java.awt.Window.dispatchEventImpl(Window.java:2440)
位于java.awt.Component.dispatchEvent(Component.java:4243)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
位于java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:183)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:173)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
关于如何解决这个问题有什么想法吗


Abdul Khaliq

您是否可能试图写入只读文件?在堆栈跟踪中,您正在调用插入方法


另外,您是否具有访问该文件的权限?我指的是对文件本身及其父目录(及其父目录等)的读取权限。

似乎java进程缺少读取文件的权限。你很可能是在用UAC和微软放在Vista里的那些烦人的东西

我会做以下几件事:

  • 检查文件权限
  • 使用“以管理员身份运行”选项运行java代码
  • 关闭UAC并始终使用管理员权限运行所有内容

从1.6.0_14开始,java以不同于1.6.0_13的方式处理虚拟路径(符号链接),windows vista在程序文件、文档和设置中大量使用虚拟路径。这可能是您的问题。

调用FileInputStream失败,因此除非java尝试使用写入权限打开,即使FileInputStream只读取数据,由于文件为只读/已打开写入句柄,此特定调用似乎不太可能失败。不,我已向everyone用户以及loggedin用户授予了完全访问权限,但仍然无法访问该文件。无论是否恼人,请关闭安全功能,并继续像以前一样以管理员身份执行所有操作“在黑暗时代”似乎不是一个有价值的建议。在开发人员的头脑中,有了这样的提示,我们将永远无法提高系统的安全性。安全性通常是不方便的,但安全带也是如此……为什么这与Microsoft Windows UAC(一般)或Vista(特别是)有任何关系?问题和代码堆栈跟踪似乎都没有给出底层操作系统的任何指示。对不起,提问者说的是“vista”(原文如此)。这似乎是合理的,Danny。就在今天,我遇到了这个完全相同的错误,运行Eclipse,管理员解决了这个问题。