FileNotFoundException viene generato in tutte le occasioni, non necessariamente solo quando il nome del file non è valido, ma anche quando e. g. permessi non permettono un file da creare o leggere:Rileva la causa sottostante per java.io.FileNotFoundException
java.io.FileNotFoundException: \\server\share\directory\test.csv (Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at java.io.FileWriter.<init>(FileWriter.java:73)
L'esempio sopra mostra un Windows tedesca lamentano nome utente o password non valida.
C'è un modo per evitare l'analisi del messaggio di eccezione per ottenere informazioni più dettagliate su perché esattamente l'errore si è verificato? Il problema con l'analisi del messaggio è che in diverse località i messaggi possono variare.
D'Oh! A volte la vita può essere talmente semplice. Grazie per aver aperto gli occhi all'ovvio. –
Fai attenzione. Ci sono apparentemente alcuni bug che possono influenzare il risultato di ritorno di questi metodi. È possibile ottenere risultati non validi se la directory è una directory personalizzata o di sistema o se si trova su determinati tipi di condivisione di rete. –
A quanto pare sono appena diventato un po 'http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4939819 che ti dirà che la directory home dell'utente (documenti e impostazioni ...) su Windows non è scrivibile. Soluzione alternativa: provare a creare un file temporaneo nella cartella principale ed eliminarlo subito dopo, in caso di esito positivo. Se viene generata una IOException, non puoi davvero scrivere. –