Entrada y Salida en Java: Manejo de Ficheros de Texto, Binarios y Conexiones Web

Informática y Telecomunicaciones3,84 KB

Operaciones de Entrada y Salida (I/O) en Java

A continuación se detallan diversos ejemplos prácticos para trabajar con flujos de datos (streams), lectura y escritura de ficheros de texto y binarios, así como la conexión a recursos web en Java.

1. Acceso a Recursos Web

Para leer datos directamente desde una dirección URL mediante un flujo de entrada (InputStream):

// Librerías requeridas:
import java.io.*;
import java.net.URL;

// El método debe declarar: throws IOException
URL web = new URL("http://www.google.bg/");
InputStream flujo = web.openStream();
BufferedReader entrada = new BufferedReader(new InputStreamReader(flujo));

String linea = entrada.readLine();
while (linea != null) {
    System.out.println(linea);
    linea = entrada.readLine();
}
flujo.close();

2. Escribir y Crear un Fichero de Texto

Uso de FileWriter y PrintWriter para generar y registrar información en un archivo de texto plano:

// Librerías requeridas:
import java.io.*;

// Declaración de excepción: throws IOException
FileWriter fich = new FileWriter(".\\datos\\nuevoo.txt");
PrintWriter escribir = new PrintWriter(fich);

escribir.println(12345);

fich.close();
escribir.close();

3. Leer de un Fichero de Texto

Uso de FileReader encadenado a un BufferedReader para una lectura eficiente línea por línea:

// Librerías requeridas:
import java.io.*;

// Declaración de excepción: throws IOException
FileReader fich = new FileReader(".\\datos\\nuevsso.txt");
BufferedReader leer = new BufferedReader(fich);
String lectura = "";

while (lectura != null) {
    lectura = leer.readLine();
    if (lectura != null) {
        System.out.println(lectura);
    }
}
leer.close();

4. Escritura en Archivo Binario

Uso de FileOutputStream para almacenar datos a bajo nivel (bytes):

// Librerías requeridas:
import java.io.*;

// Declaración de excepción: throws IOException
FileOutputStream fich = new FileOutputStream(".\\datos\\numeros.txt");
fich.write((byte) 2042);
fich.close();

5. Lectura de Archivo Binario

Lectura byte a byte empleando FileInputStream con captura de excepciones:

// Librerías requeridas:
import java.io.*;

// Declaración de excepción: throws IOException
try {
    FileInputStream fich = new FileInputStream(".\\datos\\numeros.txt");
    int dato = fich.read();
    while (dato != -1) {
        System.out.println(dato);
        dato = fich.read();
    }
    fich.close();
} catch (FileNotFoundException e) {
    System.out.println("ERROR: Fichero no encontrado");
}

6. Actualización y Modificación de un Fichero de Texto

Técnica de actualización mediante un fichero auxiliar temporal y posterior reemplazo del archivo original:

// Librerías requeridas:
import java.io.*;

// Declaración de excepción: throws IOException
int pos = 5;
int contPos = 0;

try {
    FileReader fich = new FileReader(".\\datos\\nuevo.txt");
    BufferedReader escribir = new BufferedReader(fich);
    FileWriter fich1 = new FileWriter(".\\datos\\nuevoAux.txt");
    PrintWriter copia = new PrintWriter(fich1);
    
    String linea = escribir.readLine();
    while (linea != null) {
        contPos++;
        if (contPos == pos) {
            copia.println(1000);
        } else {
            copia.println(linea);
        }
        linea = escribir.readLine();
    }
    copia.close();
    escribir.close();
    
    File origen = new File(".\\datos\\nuevo.txt");
    File destino = new File(".\\datos\\nuevoAux.txt");
    origen.delete();
    destino.renameTo(origen);
} catch (FileNotFoundException e) {
    System.out.println("Fichero no encontrado");
}

Descargar

PDF Word HTML