Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    4

    [Java] Problemi con Path

    Ho un problema, non riesco a far vedere al mio progetto, il mio file di testo( "il mio contenitore di dati" ) che sta nello stesso package. Senza utilizzare l'indirizzo completo al file...

    io ho provato così...

    codice:
    private static  String percorsoFile="./CONTATTI.txt";  //impostazione di posizione file  
    private static String  contenutoTot=estraiContenuto(percorsoFile);
    
    static String estraiContenuto(String path){
             String percorso = "";     //inizializzo a nullo
             String contenuto = "";     //inizializzo a nullo
             percorso = path;
             
             char[] arrchar = new char[50000];
             int size = 0;
            try {
                File file = new File(percorso);
                FileReader fr = new FileReader(file);
                size = fr.read(arrchar); //valorizza l'array e restituisce la dimensione del file
    
            for(int i=0; i<size; i++){
               contenuto += arrchar[i];
            }
            fr.close();
            }
            catch(IOException e) { 
                e.printStackTrace();
            }
             
             
            return contenuto;
         }
    mi dice che non trova CONTATTI.txt....
    Help!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] Problemi con Path

    Originariamente inviato da PRGJava
    Ho un problema, non riesco a far vedere al mio progetto, il mio file di testo( "il mio contenitore di dati" ) che sta nello stesso package. Senza utilizzare l'indirizzo completo al file...

    mi dice che non trova CONTATTI.txt....
    La questione è semplice: la specifica del file è sul file-system ed è "relativa" cioè dipende dalla directory corrente.
    Vuoi che sia così? Cioè dipendente dalla directory corrente? Se sì, allora devi preoccuparti tu di far in modo che sulla tua macchina (o comunque dove sarà usata l'applicazione), la directory "corrente" sia quella giusta quando viene avviata la JVM.

    Non vuoi che sia così? Allora se si tratta di risorse che fanno parte della applicazione e sono oltretutto "read-only" (che non aggiornerai mai dalla applicazione), allora per leggere la risorsa puoi usare i getResource / getResourceAsStream di java.lang.Class.

    Se CONTATTI.txt è nello stesso package di TuaClasse, allora si può fare:

    codice:
    InputStream is = TuaClasse.class.getResourceAsStream("CONTATTI.txt");
    getResource/getResourceAsStream usano lo stesso criterio di ricerca che la JVM usa per trovare le classi, ovvero cercando classi/risorse lungo il "classpath". E non centra più la directory "corrente".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    4
    Dovrei anche modificare dati presenti nel file...
    Quindi avevo pensato di integrare il file CONTATTI.txt dentro la stessa cartella del progetto...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da PRGJava
    Dovrei anche modificare dati presenti nel file...
    Allora il concetto delle "risorse" (come inteso da getResource / getResourceAsStream) non è utilizzabile.

    Originariamente inviato da PRGJava
    Quindi avevo pensato di integrare il file CONTATTI.txt dentro la stessa cartella del progetto...
    Devi per forza specificare un percorso sul file-system. Visto che mettere percorsi "assoluti" nel sorgente ovviamente non va bene, puoi solo:
    - far riferimento alla directory "corrente" (e qui, ripeto, devi preoccuparti tu che al lancio della applicazione sia giusta).
    - far riferimento ad una qualche directory "nota" (es. la cartella "home" dell'utente).
    - far scegliere all'utente il file (con JFileChooser o altro).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.