java - 解析 XML 截断文件路径

标签 java file filenotfoundexception

我收到带有以下代码的 FileNotFoundException:

File dataFile = new File("\\xx.xxx.xx.xxx\PATH\TO\FILE.xml");

if(dataFile.isFile())
{
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    // Printing out File displays full path
    Document doc = db.parse(dataFile);
}

这会导致 FileNotFoundException:\PATH\TO\FILE.xml。它似乎已将 IP 地址从路径中截断。我已经检查过路径名不包含任何空格,如果我在解析之前打印出 File 对象的路径,则会显示完整路径。有什么想法吗?

我正在运行 Java 1.5_14。

最佳答案

尝试改变

File dataFile = new File("\\xx.xxx.xx.xxx\PATH\TO\FILE.xml");

File dataFile = new File("\\\\xx.xxx.xx.xxx\\PATH\\TO\\FILE.xml");

记住,在 Java 中,\转义下一个字符...

编辑:假设您从以下行获得 FNFE:

Document doc = db.parse(dataFile);

那么这意味着datafile.isFile()正在传递,因此该文件应该存在。仅出于测试目的,您可能需要尝试将其更改为:

Document doc = db.parse(dataFile.toURI().toString());

Document doc = db.parse(new InputSource(new FileReader(dataFile)));

看看会发生什么。

关于java - 解析 XML 截断文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2104879/

相关文章:

java - 为什么我看不到我在工作目录中创建的文本文件?

java - 按日期和时间排序

java - Lock.tryLock() 的用例

java - Log4j 修剪公共(public)类别前缀

java - 使用扫描仪读取文件时出现问题

windows - 是否可以合理地绕过扫描工作目录的防病毒软件?

java - 编译器忽略的泛型类型

python-3.x - 二进制文件类对象的正确类型

android - 在 Android 中阅读 RSS 时出现 FileNotFoundException

android - Java : FileNotFoundException when loading Bitmap from URL with basic authentication