Cargando...

Leer un archivo en Java

Prepara un archivo de texto llano note.txt en la misma carpeta que tu programa. Pon una linea corta: oak. Abre Reader.java, crea un File para note.txt, envuélvelo en un Scanner, imprime nextLine(), luego close el escaner. Compila con javac Reader.java y ejecuta java Reader. La pantalla debe mostrar oak. Una segunda demo abre missing.txt y se detiene con FileNotFoundException. Deja escribir archivos con Java para la pagina siguiente — crea note.txt a mano en un editor.

Lee una linea que ya esta en disco

Las paginas anteriores pararon con excepciones que capturaste o lanzaste. Esta pagina llega a letras que viven en un archivo despues de que termina el programa. Abre un archivo de ensenanza Reader.java. Manten el nombre publico Reader para que coincida con el archivo. Borra demos de lanzamiento Signal, bloques catch de Guard, paradas de arreglo Alarm y cualquier Scanner que lea del teclado con nextLine desde System.in. El programa no debe esperar tecleo. Leer un archivo sigue usando Scanner, pero el constructor toma un File, no el teclado.
Necesitas tres import arriba:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
Marca main con throws FileNotFoundException para que un archivo ausente aparezca como excepcion comprobada. Dentro de main nombra el archivo:
File note = new File("note.txt");
Construye un escaner sobre ese archivo:
Scanner scan = new Scanner(note);
Imprime la primera linea:
System.out.println(scan.nextLine());
Cierra la lectura:
scan.close();
Antes de compilar, crea note.txt junto a Reader.java y escribe exactamente oak en la primera linea. Guarda el texto. El programa Java no crea ese archivo en esta pagina.

Reader prints oak from note.txt

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

public class Reader {
    public static void main(String[] args) throws FileNotFoundException {
        File note = new File("note.txt");
        Scanner scan = new Scanner(note);
        System.out.println(scan.nextLine());
        scan.close();
    }
}

En la carpeta que contiene Reader.java y note.txt, ejecuta javac Reader.java. Cuando parentesis, llaves y punto y coma coinciden, javac no escribe linea propia. Luego java Reader — no java Reader.java. Quita .java del comando. Si javac no encuentra File o Scanner, faltan o estan mal las lineas import — restauralas antes de otros errores.
La pantalla muestra oak. El escaner leyo la primera linea del disco y la imprimio. El programa no debe pausar por teclado. Si la terminal espera tecleo, Scanner sigue en System.in en lugar de File note. Corrige el constructor. Si ves empty o pila IllegalArgumentException, aun corre Signal — cambia a java Reader con el archivo de lectura. Si ves 2 o blocked, sigues lanzando Alarm o Guard.
Recorre una vez el camino feliz. Java empieza en Reader.main. El objeto File guarda el nombre note.txt. El Scanner abre ese nombre. nextLine toma la primera linea. println muestra oak. close termina el escaner. Nada mas debe imprimirse. Sin note.txt en la carpeta, crea el texto primero.
Aqui nextLine significa la siguiente linea en el archivo, no una peticion al usuario. El mismo nombre de metodo confunde tras la pagina de input: mismo nombre, fuente distinta. Las letras oak viven en el archivo de texto; la clase Java solo lee.

📊 File and Scanner roles

Piece What it does on this page
File holds the disk name such as note.txt
Scanner reads lines from that File with nextLine
close finishes the Scanner read so the file handle is released

Un nombre ausente lanza FileNotFoundException

Un segundo programa conserva la misma forma pero apunta a un nombre que no esta en la maquina: missing.txt. No crees ese archivo. La ejecucion debe detenerse con FileNotFoundException.

Reader missing file throws

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

public class Reader {
    public static void main(String[] args) throws FileNotFoundException {
        File note = new File("missing.txt");
        Scanner scan = new Scanner(note);
        System.out.println(scan.nextLine());
        scan.close();
    }
}

Compila con javac Reader.java, luego ejecuta java Reader. Esta vez no imprime oak. La terminal informa FileNotFoundException. La clausula throws en main deja salir esa excepcion comprobada sin catch aqui. Ya practicaste catch; el punto es reconocer que un nombre ausente detiene la lectura. La ortografia importa: FileNotFoundException. Decir solo «error» es vago.
Si creaste missing.txt por accidente, borralo. Prefiere la demo exitosa de note.txt para ver oak en silencio. Usa la demo ausente solo para ver FileNotFoundException. Cambia archivos a proposito para no mezclar exito y fallo en un solo main.
No inventes escribir con Java para crear note.txt aqui. Un editor basta para practicar lectura. La siguiente pagina escribe con Java. Esta pagina mantiene una lectura clara y un stop claro por nombre ausente.

Comparado con throw en Signal

En la pagina de throw, java Signal detuvo con IllegalArgumentException cuando las tazas estaban vacias. Aqui el stop por archivo ausente es FileNotFoundException y el camino feliz imprime una linea del disco. Manten archivos Signal como historia; ejecuta java Reader para que la pantalla coincida con esta leccion.
Los wrappers, arreglos y catch quedan como historia. Hoy los tokens nuevos son File, Scanner sobre archivo, nextLine del disco y FileNotFoundException.

Lo que esta pagina deja para escribir archivos

Esta pagina solo lee un archivo existente o se detiene si falta el nombre. La siguiente muestra escribir letras con Java. Quédate leyendo oak y nombrando FileNotFoundException. No anadas aun una llamada de escritura obligatoria en Reader.

Antes de escribir archivos

Puedes leer note.txt con Scanner y ver oak. Puedes abrir missing.txt y ver FileNotFoundException. Compila Reader.java y ejecuta java Reader para cada demo. Crea note.txt a mano junto a la clase. La siguiente pagina es escribir, donde el programa guarda texto.
Manten la lectura exitosa para pantalla tranquila, la demo ausente para ver el stop, y la escritura Java fuera de esta pagina. Cuando oak aparece tras java Reader con note.txt presente, la lectura cumplio y estas listo para escribir.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
5
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior