Ho un jar strutturato (internamente) similmente così:
Supponiamo che io voglia ottenere la lista di tutti i file contenuti in nomeProgetto.images.cartella1.codice:-META-INF -MANIFEST.MF -nomeProgetto -images (è una cartella) -cartella1 (è una cartella) -cartella2 (è una cartella) -music (è una cartella) -tuttiFileClass.class
Ho fatto nel seguente modo:
Facendo in questo modo il tutto funziona se lo eseguo dall'IDE (Netbeans , probabilmente per questioni di classpath) mentre se avvio da linea di comando ottengo una eccezione con messaggio "URI is not hierarchical"codice:File dir = new File (getClass ().getResource ("/nomeProgetto/images/cartella1").toURI ()); File [] files = dir.listFiles ();
Ho provato , tramite suggerimenti online , a seguire la seguente procedura:
Ma così facendo se avvio da terminale ottengo un "NullPointerException" , mentre da IDE un "ClassCastException: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.JarURLConnection"codice:File dir = new File ((JarURLConnection)(getClass ().getResource ("/nomeProgetto/images/cartella1").openConnection ()).getJarFileURL ().getFile ()); File [] files = dir.listFiles ();
C'è un modo per risolvere?Se dovessi fare a mano il procedimento per ogni singolo file sarebbe veramente laborioso..![]()

Rispondi quotando