首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从可以在Linux中打开的文件路径创建文件

从可以在Linux中打开的文件路径创建文件
EN

Stack Overflow用户
提问于 2015-07-01 07:10:41
回答 3查看 2K关注 0票数 1

我正在使用一个扩展TransferHandler类的类来获取文件被丢弃到gui中的路径。现在,我需要选择这个路径,并将其转换为一个文件对象,这样我就可以使用已经编写的opener方法打开它。我尝试将路径放置在这样的文件对象中:

代码语言:javascript
复制
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)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-01 07:57:51

  1. 检查此路径filePath上已经存在的文件
  2. /home/ur/Desktop/out.txt应该类似于Linux中的路径,从/开始,以防路径是绝对的。
  3. 对于Java来说,每个平台都是一样的,您不需要担心Linux/Windows (除了给出文件路径)。不过,所有方法都应该在所有平台上都能很好地工作。
  4. 您可以使用file.exists(),它将提供布尔返回值,以便具有您的条件。如果文件存在,则为true &否则为false
票数 0
EN

Stack Overflow用户

发布于 2015-07-01 07:23:25

没有什么是Linux特有的。

Java是独立于平台的语言,不需要特殊情况。

编辑:我错了,我完全误解了它。你查过文件权限了吗?谁是文件的所有者等等?

请做/检查下列事项:

  1. 检查文件访问权限
  2. 始终使用绝对路径(前面是'/‘)
  3. 对于主目录,请尝试使用System.getProperty("user.home"),如-

代码语言:javascript
复制
File userHomeDir = new File(System.getProperty("user.home")); 

File fileToRead = new File(userHomeDir , "Desktop/out.txt");
  1. 通过if(fileToRead.exists())处理文件访问

以上这些应该能给你一个明确的解决方案。否则,你可能会忘了看什么东西,但我不确定。

票数 0
EN

Stack Overflow用户

发布于 2015-07-02 00:32:44

所以我觉得很傻。结果发现,每次导入文件路径时,文件路径的末尾只有一个空格。我试着写了一个精简语句,但后来我是个愚蠢的傻瓜,没有设置filePath = file.Path.trim()。抱歉,伙计们,麻烦了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31154729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档