Lettura file in input con relativo path

di Anonimizzato12034 il
7 risposte
Ciao a tutti,ho un piccolo problemino con Java.Avrei bisogno di una classe che mi permetta di leggere in input attraverso una finestra di dialogo il nome di un file con il relativo percorso .Esempio "C:\Prova.txt" in modo da poter prender leggere file ed elaborarlo.Sapreste indicarmi qualche classe che può fare al caso mio?Grazie mille

7 Risposte

  • salvogsm80 ha scritto:


    Ciao a tutti,ho un piccolo problemino con Java.Avrei bisogno di una classe che mi permetta di leggere in input attraverso una finestra di dialogo il nome di un file con il relativo percorso .Esempio "C:\Prova.txt" in modo da poter prender leggere file ed elaborarlo.Sapreste indicarmi qualche classe che può fare al caso mio?Grazie mille
    In Swing la dialog per "sfogliare" il file-system è gestibile con JFileChooser. Se intendi altro ... precisa meglio.
  • In pratica devo leggere un file in input e ho bisogno di una "dialog box" che mi permetta di inserire il percorso del file che voglio leggere!
  • Grazie!
  • Ciao a tutti e grazie per l'aiuto di ieri.Purtroppo adesso ho un altro piccolo problemino.
    Il mio tool legge in input un file xmi e restituisce in output dei file csv che contengono delle informazioni sul file xmi.Su eclipse tutto ok,i file csv vengono creati nella directory del progetto.Adesso ho esportato il progetto da eclipse a un file jar eseguibile ma il risultato è che non riesco più a produrre in output i file csv.Sapete se esiste qualche classe che mi permetta di esportare i file csv nella directory dove è presente il mio file jar eseguibile?Grazie
  • salvogsm80 ha scritto:


    Adesso ho esportato il progetto da eclipse a un file jar eseguibile ma il risultato è che non riesco più a produrre in output i file csv.Sapete se esiste qualche classe che mi permetta di esportare i file csv nella directory dove è presente il mio file jar eseguibile?Grazie
    Un conto è quale è la directory "corrente" (questa dipende da come/da dove viene avviata la applicazione ... non da dove sta materialmente il jar) e un altro conto è la directory del jar che ovviamente è una ben precisa.
    Detto in altro modo: la directory "corrente" può essere diversa dalla directory dove risiede il jar.

    Se all'utente finale interessa che il file venga scritto nella directory "corrente" a te, come programmatore, basta solo usare un nome senza path es. "pippo.csv" e questo verrà scritto nella directory "corrente".

    Se all'utente finale interessa che il file venga nella directory esatta del jar, allora è un altro conto. Si può anche fare ma richiede qualche valutazione in più.

    Se però l'utente ha scelto tramite JFileChooser il file xml e a te basta scrivere il csv nella stessa directory del xml .... è ancora più semplice e facile: il path assoluto del xml ce l'hai e quindi anche la directory.

    Non ho ben capito quali sono i tuoi requisiti .... valuta un po' tu. Magari precisa meglio se quanto ho detto non è sufficiente.
  • Innanzitutto ti ringrazio per la risposta andbin.Allora a me interessa creare un jar eseguibile che produca questi file csv,la directory dove questi file vengono inseriti non è importante.Ti faccio vedere un pò del mio codice così sarò più chiaro.Ecco la fase di scrittura su file:
    
     File log2 = new File("log2.csv");
                FileWriter fileWriter2 = new FileWriter(log2, true);            
                BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter2);
                bufferedWriter2.write("TYPE STRING" +"|"+ " NAME" +"\n");
                
    
    Così facendo quando creo il file jar e lo eseguo non viene creato nessun file csv. se invece inserisco un path specifico ,esempio:
    
     File log2 = new File("C:\\log2.csv");
                FileWriter fileWriter2 = new FileWriter(log2, true);            
                BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter2);
                bufferedWriter2.write("TYPE STRING" +"|"+ " NAME" +"\n");
                
    Il jar crea correttamente il file csv e ci scrive dentro.Ma io vorrei creare un tool che possa girare su qualsiasi pc senza l'ausilio di dover modificare il codice.
    Non so se sono stato chiaro Grazie mille
Devi accedere o registrarti per scrivere nel forum
7 risposte