Leer fichero de texto con Java

26/dic/2006 Java , , , 31 Comentarios
java

Cuando tratamos con estructuras de tipo stream para realizar lecturas y escrituras, los pasos habituales son el ir apoyándonos en clases que nos faciliten el manejo del dispositivo de destino, desde la de más alto nivel a la de menor nivel. Lo que técnicamente denominaríamos wrapping.

Para manejar cadenas de texto (Java String), la estructura que nos ayuda, en Java IO, a ello es el BufferedReader. Pero a este nivel, todavía no hemos identificado el dispositivo de destino.

En la lectura de ficheros de texto, lo primero que tenemos que hacer es crear un Reader de tipo fichero. Esto es encapsulado en la clase FileReader. Será esta clase la que utilice el buffer como origen de lectura.

Quedándonos estas simples líneas:

  1. FileReader fr = new FileReader("datos.txt");

O en un formato mas "técnico" podríamos irnos a tener una sola linea de codigo:

  1. BufferedReader bf = new BufferedReader(new FileReader("datos.txt"));

Ahora solo nos queda es ir leyendo del fichero. Para ello utilizaremos los métodos de BufferedReader. Y en concreto el que nos va dando línea a línea readLine(), La lectura se hará de forma repetitiva hasta que la lectura de la línea sea nula.

  1. while ((sCadena = bf.readLine())!=null) {
  2. System.out.println(sCadena);
  3. }

Hay que tener especial cuidado con el manejo de las excepciones. Todo manejo con la librería java.io nos hará estar expuestos al manejo de la excepción IOException.

Y tampoco podemos olvidar que a la hora de realizar la lectura de un fichero, este, no exista. En ese caso se lanzará una excepción FileNotFoundException.

Vídeos sobre Java

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

31 comentarios en “Leer fichero de texto con Java”

Víctor Cuervo

jorge

disculpen la molestia,, necesito ayuda con un trabajo de programacion algo sencillo, el problema es que yo no tengo el conocimiento suficiente ,,,, es en java por favor,,,, dispuesto a dar una recompensa por su tiempo ! saludos ! jorge_ivg12@hotmail.com

Víctor Cuervo

marco

Exception in thread “main” java.lang.Error: Unresolved compilation problem:

at inicios.LeerFicheroTexto.main(LeerFicheroTexto.java:13)

me marca ese error

Víctor Cuervo

Leandro

Está muy bien explicado y mas claro no puede estar. Gracias. Pero resulta que el BufferedReader lee cada dos lineas! Tengo 6 lineas en un documento y me imprime la 2,4,6. y si pongo 5 lineas, la ultima linea sale null. Cual podría ser la solucion? Gracias

Víctor Cuervo

henry

excelente me ayudo en unerror que tenia muchas gracias, saludos desde colombia

Víctor Cuervo

yoshiorv

hola muy buena explicación, pero sabrás como leer las líneas del código sin leer los comentarios y los espacios en blanco, te lo agradecería, vuelvo a colocar mi correo gracias yoshiovillaueva@gmail.com

Víctor Cuervo

eskizo

la verdad es que todas las pequeñas dudas que tengo sobre java las estoy resolviendo en tu web, todo muy claro y conciso, gracias

Víctor Cuervo

JOSE

Amigo como hago para visualizar esa información en un jlabel de un JFrame de mi formulario trabajo en Netbeans.

Víctor Cuervo

Víctor Cuervo

@yo,

Lo puedes hacer quitando el bucle

En vez de poner:

while ((sCadena = bf.readLine())!=null) {
   System.out.println(sCadena);
}

Pones:

sCadena = bf.readLine();
System.out.println(sCadena);

Y ya lo tienes. Espero que te ayude.

Saludos. Víctor.

Víctor Cuervo

yo

hola solo quisiera saber como hacer para leer solo la primera linea del archivo

Víctor Cuervo

Víctor Cuervo

@Adán, @Run.EXE,

Me alegro que estas pocas líneas les hayan ayudado. 😀

Víctor Cuervo

Run.EXE

Está perfecto. Muchas gracias por el pedacito de código :3

Víctor Cuervo

Adán

Genial! a la segunda conseguí que funcionara perfecto, muchísimas gracias por su trabajo desinteresado, desde España.

Víctor Cuervo

Víctor Cuervo

@Pedro,

Muchas gracias. ¿Cual es el canal de Youtube que has visto?

Víctor Cuervo

Víctor Cuervo

@Alex,

Cierto, solucionado el error tipográfico. 😀

Víctor Cuervo

Pedro

Gracias, esta muy bien el código. Aprovecho para deciros que he visto un canal muy interesante en YT con tutoriales de programación muy interesantes. Saludos.

Víctor Cuervo

Alex

Hola felicidades muy buen ejemplo, solo una pequeña observación.
En donde encapsulas la clase FileReader en una sola linea se te fue un ; de mas, quedando sin ese pequeño error, de la siguiente manera:
BufferedReader bf = new BufferedReader(new FileReader(“datos.txt”));

Víctor Cuervo

Inexperto

Genial!!! Descargar el codigo y listo!!! :)

Víctor Cuervo

kalt28

una pregunta, tengo este problema:
Esta evaluación es relativamente sencilla, deberán investigar la estructura interna de un archivo de Word 2007 o superior.

Con esta información, hacer un programa que de un determinado documento de word (seleccionar cualquiera) por cada línea genere un archivo de texto, cuyo nombre sea el número de línea.

Para el siguiente ejemplo se considera el archivo de Word llamado MUESTRA.

Ejemplo:

Contenido

Nombre de archivo
01.txt Hola que tal:
02.txt Este es un ejemplo de separación de contenidos de un archivo Word
03.txt Cada línea forma un nuevo archivo de texto
04.txt El nombre del archivo es el número de línea

El archivo no debe de contener mas de 20 líneas, de lo contrario enviar un error “Demasiadas líneas”.

xfa necesito ayuda

Víctor Cuervo

kalt28

esta muy bn explicado, solo que confundo el orden, mis felicitaciones

Víctor Cuervo

Víctor Cuervo

@juan,

Si tienes letras no pasa nada. Te lee las lineas perfectamente.
¿Estás teniendo algún problema con el código? Te podemos ayudar de alguna forma.

Saludos.

Víctor Cuervo

juan

Y si dentro del fichero tengo letras?, me las toma como null, no cambia de linea.

Víctor Cuervo

Víctor Cuervo

@Rosa Ma Cabrera Valdiviezo,

Me alegro que te haya servido. 😀

Víctor Cuervo

Rosa Ma Cabrera Valdiviezo

Gracias me ayudo mucho 😀

Víctor Cuervo

jorge antonio

Uds mal agradecidos (me supongo que eres mexicano… al que dice puto y cabron), todavia que el duenio de este blog…. se da el tiempo de hacerlo… todavia lo insultan .. voy a usar su lenguaje son uds los “putos cabrones”…

Víctor Cuervo

lineadecodigo

Con el fin de ayudar un poco más… He incluido el código fuente java del ejemplo. De esta manera solo tendrán que compilarlo y ejecutarlo.

Espero les sea más fácil su comprensión.

Víctor Cuervo

javi

pues funciona de maravilla, menos quejarse y más practicar que es lo que tenéis que hacer, que las cosas no salen mirando la pantalla.

Víctor Cuervo

mastero.org

por que no ponen el codigo acaso se creen tan listos?? es como los que saben el principio lo hacen si no no es algo malo

Víctor Cuervo

EDGAR

QUIERO SA BER LAS INSTRUCCIONES EN JAVA.IO.* EEEEEEEEEEEEEEE UEYYYYYYYYYYY

Víctor Cuervo

don duro

Que brutos si no entienden

Víctor Cuervo

Burro k te coge

Puto no se entiende mejor por el codigo maricon

Víctor Cuervo

Burro k te coge

Puto no le entiendo

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*