Pergunta

Estou recebendo uma FileNotFoundException com o seguinte código:

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

Isso está resultando em uma fileNotFoundException: path to file.xml. Parece ter truncado o endereço IP fora do caminho. Eu verifiquei se o nome do caminho não inclui espaços e, se eu imprimir o caminho do objeto de arquivo antes de analisar, o caminho completo será exibido. Alguma ideia?

Estou executando o Java 1.5_14.

Foi útil?

Solução

Tente mudar

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

para

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

Lembre -se de que em Java, escapa do próximo personagem ...

Editar: Supondo que você esteja recebendo um FNFE da linha:

Document doc = db.parse(dataFile);

Então significa que o datafile.isFile() está passando e, portanto, o arquivo deve existir. Apenas para fins de teste, você pode tentar mudar isso para:

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

ou

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

E veja o que acontece.

Outras dicas

Tente usar um URL completo com um esquema em vez do caminho UNC.

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top