entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Lectura de un archivo de texto

Estoy iniciandome en la programación en Java y me estoy estancando en los archivos de texto. Ya se crear un archivo de texto, el problema es leerlo, les muestro el código:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class IOE {
public static void main(String args[]) throws FileNotFoundException {
     System.out.println("PROCEDEMOS CON LA LECTURA DE LO ESCRITO");
     File fl = new File("prueba.txt");
     Scanner lectura = new Scanner(fl);
     if (fl.exists()) {
         while (lectura.hasNext()) {
              System.out.println(lectura.next());
         }
     }
     else {
         System.out.println("NO EXISTE");
     }
     lectura.close();
     }

}

El archivo .txt dice "esto es una prueba total y rotunda", quiero que me lo imprima tal cual, pero me imprime por cada palabra una linea.

**SALIDA:**

Esto
es
una
prueba
total
y
rotunda.

Necesito de la sabiduría de ustedes.
Gracias por su atención.

2 Respuestas

3votos

msaavedra Puntos220

El siguiente código es valido si solo quieres leer una linea en este caso la primera linea del texto.

import java.io.*;

    public class IOE {
        public static void main(String args[]) throws IOException {                
            String text = "";
            BufferedReader in = new BufferedReader(new FileReader("prueba.txt"));
            text = in.readLine();
            System.out.println(text);
            in.close();
        }
    }

Si quieres leer más de una linea tienes que leer el texto de la siguiente forma

import java.io.*;

public class IOE {
    public static void main(String args[]) throws IOException {        
        String text = null;
        BufferedReader in = new BufferedReader(new FileReader("prueba.txt"));
        while((text = in.readLine()) != null){
            System.out.println(text);
        }
        in.close();
    }
}

No olvides manejar bien las excepciones.

0voto

shidodarkland Puntos590

De igual manera puedes utilizar System.out.print(lectura.next() + " "); al no usar el ln no salta de linea, y al concatenarlo con el espacio te separa las palabras.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta