2010-06-04 29 views
8

Hola quiero leer un archivo txt con N líneas y el resultado lo pone en una matriz de cadenas.java: cómo leer un archivo txt en una matriz de cadenas

+3

Ahora sabemos lo que quiere, ¿cuál es su pregunta? :) – OscarRyz

+1

Aquí hay algunas alternativas (solo necesitan un pequeño ajuste) http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file – OscarRyz

+0

Y otro: http://www.exampledepot.com/egs/java.io/ReadLinesFromFile.html – OscarRyz

Respuesta

21

Utilice java.util.Scanner y 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

esta es la respuesta, los hombres gracias :) –

+3

@Enrique: Leer la API de cómo 'escáner 'maneja' IOException'. – polygenelubricants

+0

¿Cómo imprimir todos los elementos de String [] arr? – Chinmoy

3

¿Has leído the Java tutorial?

Por ejemplo:

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í, leí el tutorial de Java y otros libros, esto no resuelve el problema porque quiero poner todas las líneas de el archivo en una matriz de cadenas como: String [] content = new String [lenght_of_the_string]; int i = 0; tiempo ((línea = reader.readLine()) = null { contenido [i] = línea; i ++;} –

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

De apache commons-io

Esto le dará una List de String. Puede usar List.toArray() para convertir, pero le sugiero que se quede con List.

0

Configure un BufferedReader para leer desde el archivo, luego recoja las líneas desde el búfer tantas veces.

Cuestiones relacionadas