PDA

View Full Version : [java]Dfinire il Path per la lettura di un file


Voltron
20-10-2005, 12:44
Ciao a tutti! :)

Come da titolo, ho creato una classe java che va a leggere un file di testo contenete dei caratteri binari; il problema nasce nel momento in cui io vado a passare al metodo 'FileReader' un Path contenente i separatori '\' delle directory!!

Mi spiego meglio!......Il frontend(filechooser) che passa il Path alla mia classe utilizza il metodo 'getPath' che restituisce al 'FileReader' il percorso esatto del file.....Ma il 'getPath' mi dovrebbe restituire un Path con dei "doppi_separatori", ossi '\\' altrimenti il compilatoremi da errore!!!!

Raga, come posso risolvere questo problema?? :confused: .....vi chiedo cortesemente aiuto! :help:

anx721
20-10-2005, 13:29
il filechooser non restituisce anche direttamente un oggetto File che rappresenta il file scelto (tipo getSelectedFile)

Voltron
20-10-2005, 14:09
il filechooser non restituisce anche direttamente un oggetto File che rappresenta il file scelto (tipo getSelectedFile)

Sì! :) ....ma cos'ì facendo altererei la struttura del metodo che gestisce la lettura del file!...ossia, quest'ultimo è impostato per ricevere una stringa contenete il 'Path'.-----> ecco il codice:


BufferedReader in = new BufferedReader(new FileReader(str));

String line;
while((line = in.readLine())!= null){


RAM[t] = line;
t++;
}



Qesto invece è il codice frame che passa la stringa del 'Path' fornitagli dalla finestra 'filechooser':


JFileChooser browser; //finestra per aprire i file

public void jMenuItem1_actionPerformed(ActionEvent e) {

browser.showOpenDialog(jMenuItem1);//apre la finestra per selezionare un file binario

File file = browser.getSelectedFile(); //prende il file selezionato
String str = file.getPath(); //prende il path del file


pippo.lettura_file(str);
}

anx721
20-10-2005, 15:18
esiste un costruttore di FileReader che prende direttamente un File, quindi puoi o modificare il parametro del tuo metodo che deve leggere in modo che prenda un File oppure nel metodo costruisciti un File apartire dal path e poi passa al reader tale File. Sinceramente ho qualche dubbio che ilproblema sia quello che hai detto tu.

Voltron
20-10-2005, 16:36
esiste un costruttore di FileReader che prende direttamente un File, quindi puoi o modificare il parametro del tuo metodo che deve leggere in modo che prenda un File oppure nel metodo costruisciti un File apartire dal path e poi passa al reader tale File. Sinceramente ho qualche dubbio che ilproblema sia quello che hai detto tu.

Guarda....il problema è proprio quello che ho detto io! :confused: :D

Comunque, ho risolto come tu stesso hai suggerito, eliminando la stringa del 'Path', e passando direttamente al 'FileReader' il file ottenuto dal metodo 'getSelectedFile' del frame.

Mixmar
21-10-2005, 07:55
Ciao a tutti! :)

Come da titolo, ho creato una classe java che va a leggere un file di testo contenete dei caratteri binari; il problema nasce nel momento in cui io vado a passare al metodo 'FileReader' un Path contenente i separatori '\' delle directory!!

Mi spiego meglio!......Il frontend(filechooser) che passa il Path alla mia classe utilizza il metodo 'getPath' che restituisce al 'FileReader' il percorso esatto del file.....Ma il 'getPath' mi dovrebbe restituire un Path con dei "doppi_separatori", ossi '\\' altrimenti il compilatoremi da errore!!!!

Raga, come posso risolvere questo problema?? :confused: .....vi chiedo cortesemente aiuto! :help:

Non so, forse dico una vaccata, ma potrebbe funzionare sostituendo "\" con "/"...