FileNotFoundException se lanza en todo tipo de ocasiones, no necesariamente solo cuando el nombre del archivo no es válido, sino también cuando e. gramo. permisos no permiten que un archivo se crea o se lee:Detectar causa subyacente para 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)
El ejemplo anterior muestra una alemana de Windows quejándose de nombre de usuario o contraseña no válidos.
¿Hay alguna forma de analizar el mensaje de excepciones para obtener información un poco más fina en por qué exactamente se produjo la excepción? El problema con el análisis de mensajes es que en diferentes lugares los mensajes variarán.
D'Oh! A veces la vida puede ser tan fácil. Gracias por abrir mis ojos a lo obvio. –
Ten cuidado. Aparentemente hay algunos errores que pueden afectar el resultado de retorno de estos métodos. Puede obtener resultados no válidos si su directorio es un directorio personalizado o de sistema o si está en ciertos tipos de recursos compartidos de red. –
Aparentemente acabo de recibir un bit de http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4939819 que le dirá que el directorio de inicio del usuario (documentos y configuraciones ...) en Windows no se puede escribir. Solución alternativa: intente crear un archivo temporal en la carpeta principal y elimínelo inmediatamente después, si tiene éxito. Si se lanza una IOException, realmente no puede escribir. –