文件不是只读的,您可以从下面的屏幕截图中看到。但由于某些原因,file.isFile()被返回为false。以下是我的代码:
TreePath selectedTreePath = tree.getPathForLocation(me.getX(), me.getY());
DefaultMutableTreeNode node = (DefaultMutableTreeNode) (selectedTreePath.getLastPathComponent());
File files = new File(node.getUserObject().toString());
File file = new File(node.getUserObject().toString());
Path path2 = Paths.get(node.getUserObject().toString());
System.out.println("path2.toAbsolutePath(): " + path2.toAbsolutePath());
System.out.println("path2.toFile().isFile(): " + path2.toFile().isFile());
我的工作是什么?
编辑:所以我认为前两行代码是错的? TreePath和DefaultMutableTreeNode。我错误地得到了文件的路径?
答案 0 :(得分:-2)
找出问题所在。
我正在做一些有趣的事情DefaultMutableTreeNode node = (DefaultMutableTreeNode) (selectedTreePath.getLastPathComponent());
使用以下代码:
public static String createFilePath(TreePath treePath) {
StringBuilder sb = new StringBuilder();
Object[] nodes = treePath.getPath();
for(int i=0;i<nodes.length;i++) {
sb.append(File.separatorChar).append(nodes[i].toString());
}
return sb.toString();
}
此处提供:https://stackoverflow.com/a/20364909/1275777
哦,如果你们解释为什么要把它标记下来,那就太好了。