El manejo de archivos en Java te permite leer y escribir datos desde y hacia archivos en el sistema de archivos del sistema operativo. Esto es útil para almacenar y recuperar información de manera persistente.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class LecturaArchivo {
public static void main(String[] args) {
try {
File archivo = new File("datos.txt");
Scanner lector = new Scanner(archivo);
while (lector.hasNextLine()) {
String linea = lector.nextLine();
System.out.println(linea);
}
lector.close();
} catch (FileNotFoundException e) {
System.out.println("Archivo no encontrado.");
}
}
}
En este ejemplo:
File
que representa el archivo que queremos leer.Scanner
para leer el contenido del archivo línea por línea.while
para leer cada línea del archivo hasta que no haya más líneas.Scanner
después de su uso para liberar recursos.
import java.io.FileWriter;
import java.io.IOException;
public class EscrituraArchivo {
public static void main(String[] args) {
try {
FileWriter escritor = new FileWriter("nuevo.txt");
escritor.write("¡Hola, mundo!\n");
escritor.write("Esta es una línea escrita en el archivo.");
escritor.close();
System.out.println("Se escribió en el archivo correctamente.");
} catch (IOException e) {
System.out.println("Error al escribir en el archivo.");
e.printStackTrace();
}
}
}
En este ejemplo:
FileWriter
para escribir en el archivo especificado.write()
para escribir en el archivo.FileWriter
después de su uso.En Java, existen varias clases en el paquete java.io
que facilitan el manejo de archivos. Algunas de las clases más comunes son File
, FileReader
, FileWriter
, BufferedReader
y BufferedWriter
.
La clase File
se utiliza para representar archivos y directorios en el sistema de archivos.
import java.io.File;
public class ClaseFile {
public static void main(String[] args) {
// Crear un objeto File para un archivo
File archivo = new File("archivo.txt");
// Crear un objeto File para un directorio
File directorio = new File("directorio");
}
}
Las clases FileReader
y FileWriter
se utilizan para leer y escribir archivos de texto, respectivamente.
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ClasesFileReaderFileWriter {
public static void main(String[] args) {
try {
// FileReader para leer un archivo
FileReader lector = new FileReader("archivo.txt");
// FileWriter para escribir en un archivo
FileWriter escritor = new FileWriter("nuevo.txt");
// Cerrar los recursos después de su uso
lector.close();
escritor.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Las clases BufferedReader
y BufferedWriter
se utilizan para leer y escribir texto de manera más eficiente, respectivamente.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ClasesBufferedReaderBufferedWriter {
public static void main(String[] args) {
try {
// BufferedReader para leer un archivo de texto
BufferedReader lector = new BufferedReader(new FileReader("archivo.txt"));
// BufferedWriter para escribir en un archivo de texto
BufferedWriter escritor = new BufferedWriter(new FileWriter("nuevo.txt"));
// Cerrar los recursos después de su uso
lector.close();
escritor.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
En Java, los streams son una forma de leer o escribir datos de manera secuencial desde o hacia una fuente de entrada o salida, como un archivo, un flujo de red o la consola.
InputStream
se utiliza para leer datos de una fuente, como un archivo o una conexión de red.OutputStream
se utiliza para escribir datos en una fuente, como un archivo o una conexión de red.
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Streams {
public static void main(String[] args) {
try {
// InputStream para leer desde un archivo
InputStream entrada = new FileInputStream("archivo.txt");
// OutputStream para escribir en un archivo
OutputStream salida = new FileOutputStream("nuevo.txt");
// Cerrar los recursos después de su uso
entrada.close();
salida.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}