Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Resources dentro JAR

  1. #1

    Resources dentro JAR

    Ciao a tutti,
    Mi sono fatto il Jar di un mio piccolo progetto e con questo ho dei problemi.
    Devo recuperare un file txt fare delle operazioni con il contenuto dello stesso e avviare il programma.
    Funziona tutto se lo faccio partire da IDE (Eclipse) o da linea di comando direttamente sul Main, ma se uso il jar mi da la seguente eccezione.
    codice:
    
    java.io.FileNotFoundException: net\nationdelay\resource\pwd.txt (Impossibile trovare il percorso specificato)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.<init>(Unknown Source)
            at java.io.FileInputStream.<init>(Unknown Source)
            at net.nationdelay.utils.DecryptFile.<init>(DecryptFile.java:18)
            at net.nationdelay.control.Main.main(Main.java:25)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ma il file è lì!!

    Solitamente mi funziona con le immagini che vengono ribaltate nel "bin".

    Così tento il recupero il mio file.


    La classe DecryptFile


    codice:
    
    public class DecryptFile {
        private InputStream fis;
        
         public DecryptFile() {
            try{
                String path=AppResources.getFilePath("pwd.txt");
                fis = new FileInputStream(path);
                ....
                ....
            }
            catch(IOException ioex){
                ioex.printStackTrace();
            }
        }

    faccio una chiamata ad AppResource che è una classe col metodo statico che mi recupera il file specificato dentro la cartella Resource


    codice:
    public class AppResources {
        public static String getFilePath(String name) {
             URL url = AppResources.class.getResource(name);
             String pathFile=url.getFile();
             return pathFile;
        }
    }

    Ci sto uscendo pazzo e non riesco a far funzionare il programma se non recupero il file.


    Potete dare un occhiata cosa può essere errato?


    Grazie mille per ogni consiglio,
    Ciao.
    Ultima modifica di schumy2000; 30-06-2014 a 11:32
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    FileInputStream si usa per la lettura di File. File è un qualunque oggetto presente nel FileSystem.
    Tu non hai un file, ma hai una risorsa (un blocco di byte di dati all'interno di un file Jar). Come già detto da Alex'87, le risorse si reperiscono usando getResource() o getResourceAsStream(). Il secondo, in particolare, fornisce direttamente un InputStream che può essere usato direttamente per leggere i byte o per costruire lettori più "sofisticati" (passando per un InputStreamReader, ad esempio, si può costruire un BufferedReader per leggere "a righe").


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Ottimo.

    Grazie ad entrambi ho fatto la modifica come detto da Lele e funziona.

    Ciao
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.