java.io.FileNotFoundException: (Permission denied)

本小妞迷上赌 提交于 2019-12-24 00:33:20

问题


i am tying to read a file placed in my documents folder on vista. The fiel does exists on a specified location but still i am getting the following error when trying to open an input stream to the file

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)

Any ideas on how to resolve this??

Abdul Khaliq


回答1:


Is it possible you are trying to write to a read only file? From the stack trace you are invoking an insert method.

Also, do you have permissions to access the file? I mean read permissions on the file itself as well as on its parent directory (and its parent and so on).




回答2:


Seems like the java-process lacks permission to read the file. You're problaby running with UAC and all that other annoying stuff MS put into Vista.

I'd do the following:

  • Check the files permissions.
  • Run the java-code with "Run as administrator"-option
  • Turn off UAC and always run everything with admin-rights



回答3:


From 1.6.0_14 java does something other way than 1.6.0_13 handling virtual paths (symlinks) and windows vista uses them heavily on program files and documents and settings. Maybe this is your problem.



来源:https://stackoverflow.com/questions/1301577/java-io-filenotfoundexception-permission-denied

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!