Frage

Ich bin ein FileNotFoundException mit dem folgenden Code empfangen:

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);
}

Dies führt zu einer FileNotFoundException: \ path \ to \ file.xml. Es scheint aus dem Weg, die IP-Adresse abgeschnitten zu haben. Ich habe überprüft, dass der Pfad keine Leerzeichen enthält und wenn ich den Pfad des File-Objekts vor Parsing ausdrucken, wird der vollständige Pfad angezeigt. Irgendwelche Ideen?

Ich bin mit Java 1.5_14.

War es hilfreich?

Lösung

Versuchen Sie,

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

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

nicht vergessen, dass in Java, \ entkommt das nächste Zeichen ...

Bearbeiten : Unter der Annahme, dass Sie eine FNFE aus der Leitung bekommen:

Document doc = db.parse(dataFile);

dann bedeutet es, dass der datafile.isFile() ist vorbei, und so die Datei existieren sollte. Gerade für Prüfzwecke, möchten Sie vielleicht versuchen, das zu ändernde:

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

oder

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

Und sehen, was passiert.

Andere Tipps

Versuchen Sie, eine vollständige URL mit einem Schema anstelle von UNC-Pfad zu verwenden.

Datei: //xxx.xxx.xxx.xxx/path/to/file.xml

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top