Question

Je reçois un FileNotFoundException avec le code suivant:

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

Cela se traduit par un FileNotFoundException: \ chemin \ \ File.xml. Il semble avoir tronqué l'adresse IP sur le chemin. J'ai vérifié que le nom de chemin ne comprend pas d'espace et si j'imprimer le chemin de l'objet fichier avant l'analyse syntaxique, le chemin complet est affiché. Toutes les idées?

Je suis en cours d'exécution Java 1.5_14.

Était-ce utile?

La solution

Essayez de changer

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

à

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

rappelez-vous que dans Java, \ échappe le caractère suivant ...

Modifier : En supposant que vous obtenez un FNFE de la ligne:

Document doc = db.parse(dataFile);

alors cela signifie que le datafile.isFile() passe, et que le fichier doit exister. Juste à des fins de test, vous voudrez peut-être essayer de changer cela à:

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

ou

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

Et voir ce qui se passe.

Autres conseils

Essayez d'utiliser une URL complète avec un système au lieu de chemin unc.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top