Non parlavo del contenuto del file, ma del contenuto della variabile di nome "file_tempi".Originariamente inviato da elpibegiulio
il file_tempi(che contiene del testo) l'ho aggiunto solo in un secondo momento nel jar
Allora togli la riga della creazione del FileInputStreamComunque si è dentro al jar
Che il JAR sia in un CD, in una cartella di rete, in una chiavetta USB, a Java non gliene può fregare di meno. Il problema, semmai, è il sollevarsi di un eccezione. Se viene sollevata un'eccezione (per un qualunque motivo a noi ignoto), il programma può non funzionare nel modo previsto. E' per questo che è importante non uccidere le eccezioni, ma far sempre stampare lo stackTrace.Però ti ripeto ,il progetto con i metodi java è all'interno di un cd e devo farlo partire lanciando il file jar da terminale .E' questo il problema che mi dava ,cioè non riusciva a trovare ilo file.
Questa frase non ha senso: il ClassLoader è una classe particolare usata dalla JVM che si occupa proprio di caricare le classi. Poco importa dove stiano queste classi (in un JAR oppure scolte). La frase che hai detto è come se cercassi di far partire un eseguibile... senza l'eseguibile.E poi un'altra domanda usando il ClassLoader è possibile poi far eseguire normalmente il progetto senza usare il jar.
La cartella "classes" viene usata solo ed esclusivamente dall'ambiente di sviluppo: quella cartella poi viene impacchettata nel JAR che si trova, tipicamente, nella directory "dist", che è tutto ciò di cui hai bisogno (assieme, ovviamente, alle eventuali librerie esterne). Ignorala.Calcola che i file da richiamare li ho inclusi nel jar ma si trovano anche nella cartella classes
E' anche il motivo per cui la tua applicazione funziona se non viene lanciata dal CD: tu stai usando risorse (i file sciolti) che servono all'ambiente di sviluppo e non quelle che dovrebbe realmente usare l'applicazione.
Ciao.![]()



Rispondi quotando