2010-06-04 10 views
8

Ciao, voglio leggere un file txt con N righe e il risultato lo metto in una matrice di stringhe.java: come leggere un file txt in una matrice di stringhe

+3

Ora sappiamo cosa vuoi, qual è la tua domanda? :) – OscarRyz

+1

Ecco alcune alternative (hanno solo bisogno di un piccolo ritocco) http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file – OscarRyz

+0

E un altro: http://www.exampledepot.com/egs/java.io/ReadLinesFromFile.html – OscarRyz

risposta

21

Utilizzare uno java.util.Scanner e java.util.List.

Scanner sc = new Scanner(new File(filename)); 
List<String> lines = new ArrayList<String>(); 
while (sc.hasNextLine()) { 
    lines.add(sc.nextLine()); 
} 

String[] arr = lines.toArray(new String[0]); 
+1

questa è la risposta, grazie :) uomini –

+3

@Enrique: leggere l'API su come 'Scanner 'gestisce' IOException'. – polygenelubricants

+0

Come stampare tutti gli elementi di String [] arr? – Chinmoy

3

Hai letto the Java tutorial?

Ad esempio:

Path file = ...; 
InputStream in = null; 
try { 
    in = file.newInputStream(); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
    String line = null; 
    while ((line = reader.readLine()) != null) { 
     System.out.println(line); 
    } 
} catch (IOException x) { 
    System.err.println(x); 
} finally { 
    if (in != null) in.close(); 
} 
+1

sì, ho letto il tutorial di java e altri libri, questo non risolve il problema perché voglio mettere tutte le righe di il file in una matrice di stringhe come: String [] content = new String [lenght_of_the_string]; int i = 0; while ((linea = reader.readLine()) = null { contenuto [i] = linea; i ++;} –

5
FileUtils.readLines(new File("/path/filename")); 

Da apache commons-io

questo modo si ottiene un List di String. È possibile utilizzare List.toArray() per convertire, ma suggerirei di stare con List.

0

Impostare un BufferedReader per leggere dal file, quindi raccogliere le righe dal buffer tuttavia molte volte.

Problemi correlati