Sono in esecuzione Windows e sto cercando di fare riferimento a una directory. La mia funzione inizia in questo modo:Come faccio a fare riferimento a una directory in Java?
File file = new File("C:\\somedir\\report");
if (!file.exists()) {
file.mkdirs();
}
doStuffWith(file);
ho ottenuto un NullPointerException all'interno della funzione doStuffWith
, quando ho provato a chiamare listFiles
. Bene, ho guardato in C: \ somedir e cosa ho trovato - c'è un file chiamato "report" senza estensione, e anche una directory chiamata "report"! Ciò che sembrava accadere era che l'oggetto si riferiva al file del report anziché alla directory . Come posso assicurarmi che mi riferisca alla directory e non al file?
Hai provato File file = nuovo File ("C: \\ somedir \\ report \\"); (notare le barre finali). Non ho idea se funzioni, ma ne valga la pena una build e un test rapidi. – Paolo
Che tipo di sistema operativo lo consente comunque? Ho avuto l'impressione che Windows non lo consenta. È possibile che la tua directory abbia alcuni caratteri invisibili nel nome (uno spazio, per esempio)? –
Ho appena provato a creare una cartella denominata "Cartella" e un file senza estensione chiamato "Cartella" e Windows si è lamentato di ciò. Sto usando Windows XP SP3 a 32 bit. –