View Full Version : [JAVA] Convertire file di testo in String
Pingu1084
05-01-2009, 08:13
Ho creato un file di testo, e avrei bisogno di leggerlo, facendolo prima diventare un array di String (ogni String dell'array deve corrispondere ad una riga del file di testo). L'unico piccolo problema è che non capisco come fare.
Don[ITA]
05-01-2009, 11:10
Apri uno stream sul file in questione e leggi tutte le righe finchè non arrivi alla fine del file. Il problema di usare un array di stringhe per immagazzinare ogni riga del file di testo è che a priori non ne sai la dimensione. A meno che prima non conti le righe, crei l'array e poi ce le sbatti dentro. Io ti consiglio di usare un ArrayList<String>.
Una cosa del genere dovrebbe funzionare:
String input;
ArrayList<String> text = new ArrayList<String>();
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
for (input = reader.readLine(); input != null; input = reader.readLine())
text.add(input);
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
} catch(IOException ioe){
ioe.printStackTrace();
}
Saluti
Pingu1084
05-01-2009, 12:16
;25702263']Apri uno stream sul file in questione e leggi tutte le righe finchè non arrivi alla fine del file. Il problema di usare un array di stringhe per immagazzinare ogni riga del file di testo è che a priori non ne sai la dimensione. A meno che prima non conti le righe, crei l'array e poi ce le sbatti dentro. Io ti consiglio di usare un ArrayList<String>.
Una cosa del genere dovrebbe funzionare:
String input;
ArrayList<String> text = new ArrayList<String>();
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
for (input = reader.readLine(); input != null; input = reader.readLine())
text.add(input);
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
} catch(IOException ioe){
ioe.printStackTrace();
}
Saluti
Grazie
poi mi basta un ciclo del genere ed ho finalmente letto il file in un Array di String.
String[] CP = new String[text.size()];
for (int i = 0; i < text.size(); i++) {
CP[i] = text.get(i);
}
Don[ITA]
05-01-2009, 13:38
Esattamente :D
Dark Phoenix
06-01-2009, 00:48
Consiglio di utilizzare una LinkedList e di rimuovere il secondo for.... così
String[] CP = text.toArray(new String[0]);
(per gusto mio)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.