Java file.exists() 找不到 XML 文件

Posted

技术标签:

【中文标题】Java file.exists() 找不到 XML 文件【英文标题】:Java file.exists() can't find an XML file 【发布时间】:2013-06-12 12:27:34 【问题描述】:

我只是想找出一个 XML 文件是否存在。我有这个代码:

File f = new File("customers/jim.xml");
File g = new File("customers/jim.txt");

  if(f.exists())
      
          System.out.println("File f exists!");
      
      else
      
          System.out.println("File f not found!");
      

  if(g.exists())
      
          System.out.println("File g exists!");
      
      else
      
          System.out.println("File g not found!");
      

输出:

File f not found!
File g exists!

找到了文本文件,没有找到xml。两个文件都在同一个文件夹中,拼写确实是正确的。有谁知道我做错了什么?

【问题讨论】:

您介意发布内容,即customers 目录中的文件名吗? 您描述了您认为正确的内容,那么我们几乎不会出错。需要更多信息,该目录下的 ls 或 dir 结果。 文件名中有空格?哪个操作系统? 还要检查文件后缀不是.XML 我猜想xml文件不存在,如果您使用的是windows:资源管理器是否显示扩展名?或者.xml 后面可能隐藏了一个扩展名。如果您使用的是 linux:字符大小写是否正确? 【参考方案1】:

一切看起来都正确,所以需要检查几件事:

扩展名中的大写字母。 隐藏的额外扩展名(jim.xml.txt 但.txt 隐藏) 您有多个客户目录吗?如果是这样,您的应用程序可能正在寻找另一个超出您预期的应用程序。

【讨论】:

+1 - 另一种可能是jim.xml 条目是损坏的符号链接或快捷方式。 隐藏的额外扩展名(jim.xml.txt 但.txt 隐藏)是正确答案!我现在觉得很傻。我将把这个线程留在这里作为我犯错的纪念碑,这样其他人就可以避免犯同样的错误。随意锁定这个线程。

以上是关于Java file.exists() 找不到 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章

solaris 10,java 6,file.exists 看不到现有文件

c# System.IO.File.Exists(filePath)不能判断所有文件?

Java:为啥即使路径完整,使用 file.exists() 也会给出错误值?

Java不知道文件何时不存在[关闭]

Java 中的 File.exists 有多贵

Java file.exists() 错误