如何在Java中测试文件的权限?

时间:2018-12-06 18:23:31

标签: java file permissions

我正在编写文件浏览器。 实际上,它工作正常。但是,当我尝试打开特定文件时,出现错误。当我在Windows的文件资源管理器中键入这些文件的路径时,我无权访问它们,因此我猜测这是错误的原因。 不,我不想在我的文件浏览器中显示这些文件。

我测试了以下内容:

 File F = new File(path);
    Path P = Paths.get(path);
    if(Files.isWritable(P)==true){
        //do stuff
    }

 File F = new File(path);
    Path P = Paths.get(path);
    if(Files.isExecutable(P)==true){
        //do stuff
    }

我也尝试过代替isWriteable

 F.canWrite();

 F.canRead();

不幸的是,即使我无法访问文件,它也始终返回true。 也让我感到困惑的是,该错误是以下错误之一:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at inst.FilesChange.ShowFiles(FilesChange.java:29)
at inst.FilesChange.NextFiles(FilesChange.java:54)
at inst.JFD3Installer$5.mouseClicked(JFD3Installer.java:127)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)

但是文件列表:

  File L[] = F.listFiles();

不为空或任何东西,但我可以报错

L.lenght();

这也不起作用:

 if(L.length>0){
     /do stuff
  }

感谢您的帮助!

0 个答案:

没有答案