java - 如何在java中测试文件的权限?
问题描述
我正在写一个文件资源管理器。它实际上工作得很好。但是当我尝试打开特定文件时,出现错误。当我在 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
}
谢谢你的帮助!
解决方案
推荐阅读
- reactjs - 无法从内容数组 React 更新状态
- python - 将蛇形大小写转换为 lowerCamelCase
- java - “HttpServletRequest 对象值在 CompletableFuture 代码中不可用”背后的逻辑是什么
- swift - TabBar 和导航控制器重置
- javascript - 如何只向与我的电报机器人互动的每个用户发送一次消息
- reactjs - 如何使用 React redux 和 socket.io 将数据传递给客户端?
- php - 循环开始结束时间加上第二天的分钟
- docker - 如何在我的自托管 github 操作运行器上启用非 docker 操作来访问 docker 创建的文件?(无根码头工人)
- android - Android - 交换系统。SystemClock.uptimeMillis() 的 currentTimeMillis() - 含义是什么
- performance - Elasticsearch 术语聚合花费太多时间