Informatica
Enviado por josuelagos10 • 30 de Enero de 2015 • 687 Palabras (3 Páginas) • 153 Visitas
Archivo o Ficheros Binarios
Un fichero binario o de datos está formado por secuencias de bytes. Estos archivos pueden contener datos de tipo básico (int, float, char, etc) y objetos.
Para poder leer el contenido de un fichero binario debemos conocer la estructura interna del fichero, es decir, debemos saber cómo se han escrito: si hay enteros, long, etc. y en qué orden están escritos en el fichero. Si no se conoce su estructura podemos leerlo byte a byte.
ESCRIBIR DATOS EN FICHEROS BINARIOS
Para escribir datos en un fichero binario utilizaremos las clases Java FileOutputStream y DataOutputStream derivadas de OutputStream.
FileOutputStream{ }
La clase FileOutputStream permite tener acceso al fichero para escribir bytes.
Para crear objetos FileOutputStream podemos utilizar los constructores:
FileOutputStream (String ruta)
FileOutputStream (File objetoFile);
FileOutputStream (String ruta, boolean append)
FileOutputStream (File objetoFile, boolean append)
Si el parámetro append es true significa que los datos se van a añadir a los existentes.
Si es false los datos existentes se pierden. Si se utiliza uno de los dos primeros constructores los datos existentes se pierden.
DataOutputStream
A partir de un objeto FileOutputStream se puede crear un objeto DataOutputStream, que proporciona métodos para escribir datos de tipo primitivo en el fichero.
Para crear un objeto DataOutputStream se utiliza el constructor:
DataOutputStream(OutputStream nombre);
EJEMPLOS JAVA DE ESCRITURA EN FICHEROS BINARIOS
Programa que lee enteros por teclado y los escribe en el fichero datos.dat. La lectura de datos acaba cuando se introduce -1.
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Binarios1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
FileOutputStream fos = null;
DataOutputStream salida = null;
int n;
try {
fos = new FileOutputStream("/ficheros/datos.dat");
salida = new DataOutputStream(fos);
System.out.print("Introduce número entero. -1 para acabar: ");
n = sc.nextInt();
while (n != -1) {
salida.writeInt(n); //se escribe el número entero en el fichero
System.out.print("Introduce
...