2012-02-21 18 views
17

Sto cercando di testo di output a un file di risorse in Java in questo modo:Come verificare se il file di risorse esiste in Java?

File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString()); 
BufferedWriter out = new BufferedWriter(new FileWriter(file)); 
.. 

ma perché il file di risorse non è stato creato ottengo un'eccezione di puntatore nullo. Come posso creare prima un file di risorse vuoto se non esiste già per evitare questo errore?

+0

Si prega di verificare questo post: http://stackoverflow.com/questions/1816673/how-do-i-check-if-a-file-exists-java-on-windows – adis

risposta

32

Un semplice controllo nullo basterebbe

URL u = MLM.class.getResource("/mazes.txt"); 
if (u != null) { 
     ... 
} 

Dal javadoc per getResource

Returns:
Un oggetto URL o null se non viene trovata una risorsa con questo nome

+3

non ha funzionato per me , ma MLM.class.getResource ("mazes.txt") ha funzionato. – Anthony

+0

Ho bisogno di un percorso assoluto, come questo 'MLM.class.getResource ("/mazes.txt ")' – user6537157

1

Puoi usare prima il codice:

File.createNewFile()

Atomicamente crea un nuovo file vuoto denominato da questo percorso astratto se e solo se un file con questo nome non esiste ancora. Il controllo per dell'esistenza del file e la creazione del file se non esiste esiste una singola operazione che è atomica rispetto a tutte le altre attività del file system che potrebbero influire sul file.

Problemi correlati