Se chiamo uno dei metodi File.mkdir()
o File.mkdirs()
in Java e restituisce false
, c'è un modo per sapere perché la directory non è stata creata?Scoperta del motivo per errore File.mkdirs()
risposta
Non proprio, no. Se non viene lanciato un SecurityException
, la causa più probabile è un errore di battitura nel percorso, nel senso che hai specificato per errore un percorso genitore per le nuove directory che è in qualche modo non valido.
Non si supponga di avere avvolto in un blocco try { ... } catch (Exception e)
, in cui non vi rendete conto di una SecurityException
viene gettato, perché volete prendere un antenato di SecurityException
, vero?
Se si crede fortemente che tutto sia a posto e non funziona ancora, suppongo che si possa semplicemente inserire un ciclo per riprovare, per esempio, tre volte. Se il problema persiste e, a seconda dell'applicazione, è possibile che venga generato un tipo di avviso a livello di interfaccia utente o che l'errore venga registrato in un file di registro (supponendo che sia possibile scrivere su di esso).
Suppongo che sia possibile che un problema di I/O più profondo gli impedisca di funzionare, ma al di là della semplice notifica all'utente di un errore non c'è molto che puoi (o dovresti fare davvero) a livello di applicazione. Se c'è qualcosa di più profondo nell'I/O sbagliato, è più probabile che si tratti di un problema con il sistema/hardware/sistema operativo, o qualcosa di completamente sbagliato che non si ha alcun controllo su come un sottosistema o un arresto anomalo del servizio.
... e se ciò accade, è responsabilità del tecnico IT risolvere il problema, non la vostra applicazione. A meno che, naturalmente, la tua app non sia in qualche modo causa di crash.
No, non era il caso. Ho scoperto il problema (la directory genitore aveva un proprietario errato in un nodo di un cluster) ma mi obbligava ad andare su un altro piano, parlare con l'amministratore di rete, chiedere a qualcuno di darmi una sessione ssh e, infine, digitare ' mkdir my/faulty/path'. Speravo in un modo più pratico di farlo ... – brandizzi
Beh, ecco qua - Problema di tipo IT. :) – jefflunt
Haha, di sicuro :) ma Java non è stato utile neanche ... – brandizzi
- 1. Scoperta del servizio vs bilanciamento del carico
- 2. Motivo sconosciuto per "Previsto": "" errore in javascript
- 3. Avviso file.mkdirs da Android Studio
- 4. scoperta Java
- 5. Scoperta del servizio Eureka senza Spring-boot
- 6. Scoperta ricorsiva di unittest
- 7. Implementazione del motivo decoratore
- 8. Corrispondenza dinamica del motivo
- 9. F #: composizione del motivo?
- 10. office 365 - Aggiungi i file del sito sharepoint alla scoperta
- 11. Che scoperta connettore sovversiva utilizzare
- 12. Errore di motivo non raggiungibile confondente
- 13. Motivo per saltare AOT?
- 14. scoperta membri della camera MUC come occupante
- 15. File.mkdirs() la creazione di una directory invece di un file
- 16. colore del motivo sconosciuto per il colore di sfondo attributo
- 17. Diagnosi del motivo per cui le richieste WebResource.axd sono vuote
- 18. Molto semplice Uso del motivo decoratore per generare numeri
- 19. std: esempio lock_guard, spiegazione del motivo per cui funziona
- 20. Motivo per rinominare il nome del cookie di sessione ASP.NET?
- 21. Errore di backup del server SQL 2008 - Errore del sistema operativo 5 (impossibile recuperare il testo per questo errore Motivo: 15105)
- 22. GROUP CONCAT non funziona per qualche motivo
- 23. Scoperta di altri oggetti durante il TDD
- 24. Motivo per globals() in Python?
- 25. Motivo per non utilizzare LINQ
- 26. Motivo per utilizzare DECIMAL (31,0)
- 27. Qualche motivo per assegnare -0?
- 28. Scoperta di collation di una colonna MySQL
- 29. scoperta significa usare maiale o di Hadoop
- 30. ID registrazione diventa "NotRegistered" per nessun motivo
Mi sono sempre chiesto perché 'mkdir()' è stato progettato come ha fatto (non che sia mai stato un problema per me). – NPE
Lo stesso con 'delete()', restituisce solo un valore booleano. Nessuna indicazione del motivo per cui qualcosa non ha funzionato se non è un 'SecurityException'. –