【发布时间】:2015-09-18 05:18:46
【问题描述】:
我正在使用一个扩展 TransferHandler 类的类来获取被拖放到 gui 中的文件的路径。现在我需要采用该路径并将其转换为文件对象,以便我可以使用已经编写的 opener 方法打开它。我尝试将路径放在这样的文件对象中:
final File file = new File(filePath);
但它不起作用,因为我在 Linux 中运行应用程序,所以我需要对文件路径做一些特殊的事情吗?该应用程序需要在 Linux 和 Windows 中都可运行,是否有一种适用于两者的方法?如果不是,我将如何分别为 Linux 和 Windows 做呢?
错误信息也是这样的:
错误 [Thread-4] 09:07:45 01/07/15: 未能打开 java.io.FileNotFoundException: home/ur/Desktop/out.txt (无此文件或目录) 在 java.io.FileInputStream.open(本机方法) 在 java.io.FileInputStream.(FileInputStream.java:140) 在 java.io.FileReader.(FileReader.java:72) 在 com.ur.log.reader.FileSelectionBinder.openFile(FileSelectionBinder.java:208) 在 com.ur.log.reader.FileSelectionBinder.loadFile(FileSelectionBinder.java:189) 在 com.ur.log.reader.FileSelectionBinder$DragAndDropDataTransfer$1.run(FileSelectionBinder.java:125)
【问题讨论】:
-
你从哪里运行它?你试过在
home前面加斜线吗? -
不应该更像
/home/ur/Desktop/out.txt吗?否则,您将尝试查找与执行上下文相关的文件 -
将文件路径更改为 /home/ur/Desktop/out.txt
-
我已经尝试过更改它,所以在家前面有一个斜线,它没有任何区别
标签: java linux windows file file-transfer