Clase FileOutputStream de Java – Guía Completa
Clase FileOutputStream de Java
Este tutorial recorre la clase FileOutputStream de Java, sus constructores, métodos clave y ejemplos prácticos.
La clase FileOutputStream, parte del paquete java.io, te permite escribir datos de bytes sin procesar en archivos. Extiende la clase abstracta OutputStream y es esencial para operaciones de archivos binarios.
Crear un FileOutputStream
Para crear un FileOutputStream, importa la clase desde java.io e instánciala con una ruta de archivo o un objeto File.
1. Usando una ruta de archivo
// Con la bandera append
FileOutputStream salida = new FileOutputStream(String ruta, boolean append);
// Sin la bandera append
FileOutputStream salida = new FileOutputStream(String ruta);
El booleano append determina si los datos se añaden al final del archivo (true) o sobrescriben el contenido existente (false).
2. Usando un objeto File
FileOutputStream salida = new FileOutputStream(File objetoArchivo);
Este constructor vincula el flujo al archivo representado por objetoArchivo.
Métodos Principales de FileOutputStream
FileOutputStream implementa varios métodos heredados de OutputStream, cada uno adaptado para operaciones de bytes.
write()
write(int b)– escribe un solo byte.write(byte[] b)– escribe un array de bytes completo.write(byte[] b, int off, int len)– escribelenbytes desdebcomenzando en el offsetoff.
Ejemplo: Escribir Texto en un Archivo
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) {
String datos = "Esta es una línea de texto dentro del archivo.";
try {
FileOutputStream salida = new FileOutputStream("output.txt");
byte[] array = datos.getBytes();
salida.write(array);
salida.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ejecutar este programa crea output.txt conteniendo la frase mostrada arriba. El método getBytes() convierte la cadena en su representación de bytes UTF-8.
flush()
El método flush() fuerza que cualquier byte en búfer se escriba en el archivo inmediatamente. Es útil cuando necesitas asegurar la persistencia de datos antes de cerrar el flujo.
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileOutputStream salida = new FileOutputStream("flush.txt");
String datos = "Esto es una demo del método flush";
salida.write(datos.getBytes());
salida.flush();
salida.close();
}
}
close()
Después de llamar a close(), el flujo ya no es utilizable. Libera recursos del sistema y asegura que el manejador de archivo se libere correctamente.
Métodos Adicionales de FileOutputStream
| Método | Descripción |
|---|---|
finalize() | Invocado por el recolector de basura para garantizar que se llame a close(). |
getChannel() | Retorna el FileChannel asociado para operaciones avanzadas de archivo. |
getFD() | Recupera el descriptor de archivo subyacente. |
Para más detalles, consulta la documentación oficial de Java FileOutputStream.
Java
- Palabra clave final en Java: Variables, métodos y clases
- Operador instanceof en Java: Guía completa
- Dominando la herencia en Java: Conceptos, tipos y ejemplos prácticos
- Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
- Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
- Dominando ArrayList en Java: Operaciones, métodos y mejores prácticas
- Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
- Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
- Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación