我正在使用一个扩展TransferHandler类的类来获取文件被丢弃到gui中的路径。现在,我需要选择这个路径,并将其转换为一个文件对象,这样我就可以使用已经编写的opener方法打开它。我尝试将路径放置在这样的文件对象中:
final File file = new File(filePath);但是,由于我是在Linux中运行应用程序,是否需要对文件路径做一些特殊的操作?该应用程序需要在Linux和Windows中都可以运行,有什么方法可以同时适用于这两种情况吗?如果不是的话,我将如何分别在Linux和Windows上实现它呢?
此外,错误消息如下所示:
错误线程-4 09:07:45 01/07/15:未能在java.io.FileInputStream.(FileInputStream.java:140) at java.io.FileReader.(FileReader.java:72)的java.io.FileInputStream.open上打开java.io.FileNotFoundException: home/ur/Desktop/out.txt (没有此类文件或目录)。ur.log.reader.FileSelectionBinder.loadFile(FileSelectionBinder.java:189) at com.ur.log.reader.FileSelectionBinder$DragAndDropDataTransfer$1.run(FileSelectionBinder.java:125)
发布于 2015-07-01 07:57:51
filePath上已经存在的文件/home/ur/Desktop/out.txt应该类似于Linux中的路径,从/开始,以防路径是绝对的。file.exists(),它将提供布尔返回值,以便具有您的条件。如果文件存在,则为true &否则为false。发布于 2015-07-01 07:23:25
没有什么是Linux特有的。
Java是独立于平台的语言,不需要特殊情况。
编辑:我错了,我完全误解了它。你查过文件权限了吗?谁是文件的所有者等等?
请做/检查下列事项:
System.getProperty("user.home"),如-。
File userHomeDir = new File(System.getProperty("user.home"));
File fileToRead = new File(userHomeDir , "Desktop/out.txt");if(fileToRead.exists())处理文件访问以上这些应该能给你一个明确的解决方案。否则,你可能会忘了看什么东西,但我不确定。
发布于 2015-07-02 00:32:44
所以我觉得很傻。结果发现,每次导入文件路径时,文件路径的末尾只有一个空格。我试着写了一个精简语句,但后来我是个愚蠢的傻瓜,没有设置filePath = file.Path.trim()。抱歉,伙计们,麻烦了!
https://stackoverflow.com/questions/31154729
复制相似问题