Escrito por estudiantes que aprobaron Inmediatamente disponible después del pago Leer en línea o como PDF ¿Documento equivocado? Cámbialo gratis 4,6 TrustPilot
logo-home
Resumen

Sumario ENTRADASALIDA Y MANEJO DE FICHEROS

Puntuación
-
Vendido
-
Páginas
52
Subido en
18-01-2026
Escrito en
2025/2026

PROGRAMACIÓN - ENTRADA/SALIDA Y MANEJO DE FICHEROS

Vista previa del contenido

📚 PROGRAMACIÓN -
ENTRADA/SALIDA Y MANEJO DE
FICHEROS

⚠️ Conceptos Trampa

ERROR #1: Confundir Streams de Bytes, Caracteres y Líneas


Los estudiantes mezclan clases y acaban usando FileReader para leer imágenes (FAIL) o
FileInputStream para archivos de texto (funciona pero está MAL).


TABLA COMPARATIVA :


Tipo de Cuándo Ejemplo de
Clase Método clave
dato usarla uso

Archivos
binarios:
Bytes (8 imágenes, Copiar un
FileInputStream read() → int
bits) vídeos, archivo .jpg
ejecutables,
PDFs

Caracteres Archivos de Leer un
FileReader (16 bits read() → int texto plano archivo de
Unicode) (.txt, .csv) configuración

Cuando
Leer un
Líneas necesitas
readLine() → fichero de
BufferedReader completas procesar
String log línea a
(String) línea por
línea
línea

Escribir Guardar una
Bytes
FileOutputStream write(int) datos imagen
(salida)
binarios procesada

, Tipo de Cuándo Ejemplo de
Clase Método clave
dato usarla uso

Caracteres Escribir Crear un
FileWriter write(String)
(salida) texto archivo .txt

Escribir
Generar un
Líneas (con write() + muchas
BufferedWriter informe con
búfer) newLine() líneas
10.000 líneas
(eficiente)

Escribir
Escribir logs
Líneas println() , texto con
PrintWriter con
formateadas printf() formato
timestamps
cómodo


EL TRUCO MENTAL:


1. ¿Es binario o texto? → Binario = InputStream/OutputStream, Texto =
Reader/Writer
2. ¿Necesito leer línea completa? → Sí = BufferedReader
3. ¿Necesito eficiencia con muchas operaciones? → Sí = Buffered (cualquiera)


EJEMPLO DEL ERROR TÍPICO:


// ❌ MAL - Usando FileInputStream para texto
FileInputStream in = new FileInputStream("carta.txt");
int c;
while ((c = in.read()) != -1) {
System.out.print((char) c); // Funciona pero es INCORRECTO
}


// ✅ BIEN - Usando FileReader para texto
FileReader in = new FileReader("carta.txt");
int c;
while ((c = in.read()) != -1) {
System.out.print((char) c);
}


// ✅ MEJOR - Usando BufferedReader para texto (línea a línea)
BufferedReader in = new BufferedReader(new FileReader("carta.txt"));
String linea;

, while ((linea = in.readLine()) != null) {
System.out.println(linea);
}




ERROR #2: La Jerarquía de Excepciones (y el orden del catch)


Java obliga a que captures las excepciones de MÁS ESPECÍFICA a MÁS GENÉRICA. Si lo
haces al revés, ni siquiera compila.


JERARQUÍA COMPLETA:


Throwable (clase raíz)
├── Error (errores graves del sistema, NO captures estos)
│ ├── OutOfMemoryError
│ └── StackOverflowError

└── Exception (excepciones que SÍ debes capturar)
├── IOException (padre de las excepciones de E/S)
│ ├── FileNotFoundException
│ ├── EOFException
│ └── SocketException

├── RuntimeException (no verificadas)
│ ├── NullPointerException
│ ├── ArithmeticException
│ └── NumberFormatException

└── ClassNotFoundException




TABLA DE EXCEPCIONES EN E/S:


Excepción Cuándo se lanza Cómo prevenirla

Error genérico de Usar try-catch siempre
IOException
entrada/salida con operaciones de E/S

FileNotFoundException El archivo que intentas Comprobar con
abrir NO existe File.exists() antes de

, Excepción Cuándo se lanza Cómo prevenirla

abrir

Intentas leer más allá Usar un bucle que detecte
EOFException
del final del archivo el final ( read() == -1 )

Al deserializar, la clase Asegurarse de que la clase
ClassNotFoundException
del objeto no existe esté en el classpath


EJEMPLO DEL ERROR DE ORDEN:


// ❌ ERROR DE COMPILACIÓN - Orden incorrecto
try {
FileReader fr = new FileReader("noexiste.txt");
} catch (IOException e) { // ← Demasiado genérica primero
System.out.println("Error E/S");
} catch (FileNotFoundException e) { // ← ERROR: Unreachable code
System.out.println("Archivo no encontrado");
}


// ✅ CORRECTO - De específica a genérica
try {
FileReader fr = new FileReader("noexiste.txt");
} catch (FileNotFoundException e) { // ← Primero la específica
System.out.println("El archivo no existe");
} catch (IOException e) { // ← Luego la genérica
System.out.println("Error de E/S");
}




ERROR #3: DataStreams vs ObjectStreams


Ambos sirven para guardar datos, pero son COMPLETAMENTE DIFERENTES.


TABLA COMPARATIVA: FLUJOS DE DATOS VS OBJETOS

Escuela, estudio y materia

Información del documento

Subido en
18 de enero de 2026
Número de páginas
52
Escrito en
2025/2026
Tipo
RESUMEN
3,49 €
Accede al documento completo:

¿Documento equivocado? Cámbialo gratis Dentro de los 14 días posteriores a la compra y antes de descargarlo, puedes elegir otro documento. Puedes gastar el importe de nuevo.
Escrito por estudiantes que aprobaron
Inmediatamente disponible después del pago
Leer en línea o como PDF

Conoce al vendedor
Seller avatar
jesús6

Documento también disponible en un lote

Thumbnail
Package deal
Asignatura Programación-Java
-
7 2026
€ 10,76 Más información

Conoce al vendedor

Seller avatar
jesús6 Universidad Nacional de Educación a Distancia
Ver perfil
Seguir Necesitas iniciar sesión para seguir a otros usuarios o asignaturas
Vendido
1
Miembro desde
6 meses
Número de seguidores
0
Documentos
17
Última venta
5 meses hace

0,0

0 reseñas

5
0
4
0
3
0
2
0
1
0

Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

¿Trabajando en tus referencias?

Crea citas precisas en APA, MLA y Harvard con nuestro generador de citas gratuito.

¿Trabajando en tus referencias?

Preguntas frecuentes