Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java




descargar 450.71 Kb.
títuloTaller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java
página6/6
fecha de publicación14.01.2016
tamaño450.71 Kb.
tipoTaller
med.se-todo.com > Documentos > Taller
1   2   3   4   5   6

Streams DataOutput

Java también implementa una clase de salida complementaria a la clase DataInputStream. Con la clase DataOutputStream, se pueden escribir datos binarios en un fichero.

Apertura y cierre de objetos DataOutputStream

Para abrir y cerrar objetos DataOutputStream, se utilizan los mismos métodos que para los objetos FileOutputStream:

DataOutputStream miDataStream;

FileOutputStream miFileStream;

BufferedOutputStream miBufferStream;
// Obtiene un controlador de fichero

miFileStream = new FileOutputStream( "/tmp/kk" );

// Encadena un stream de salida con buffer (por eficiencia)

miBufferStream = new BufferedOutputStream( miFileStream );

// Encadena un fichero de salida de datos

miDataStream = new DataOutputStream( miBufferStream );
// Ahora se pueden utilizar los dos streams de entrada para

// acceder al fichero (si se quiere)

miBufferStream.write( b );

miDataStream.writeInt( i );
// Cierra el fichero de datos explícitamente. Siempre se cierra

// primero el fichero stream de mayor nivel

miDataStream.close();

miBufferStream.close();

miFileStream.close();
Escritura en un objeto DataOutputStream

Cada uno de los métodos write() accesibles por los FileOutputStream también lo son a través de los DataOutputStream. También encontrará métodos complementarios a los de DataInputStream:

void writeBoolean( boolean b );

void writeByte( int i );

void writeShort( int i );

void writeChar( int i );

void writeInt( int i );

void writeFloat( float f );

void writeDouble( double d );

void writeBytes( String s );

void writeChars( string s );

Para las cadenas, se tienen dos posibilidades: bytes y caracteres. Hay que recordar que los bytes son objetos de 8 bits y los caracteres lo son de 16 bits. Si nuestras cadenas utilizan caracteres Unicode, debemos escribirlas con writeChars().

Contabilidad de la salida

Otra función necesaria durante la salida es el método size(). Este método simplemente devuelve el número total de bytes escritos en el fichero. Se puede utilizar size() para ajustar el tamaño de un fichero a múltiplo de cuatro. Por ejemplo, de la forma siguiente:

. . .

int numBytes = miDataStream.size() % 4;

for( int i=0; i < numBytes; i++ )

miDataStream.write( 0 );

. . .

FICHEROS DE ACCESO ALEATORIO

A menudo, no se desea leer un fichero de principio a fin; sino acceder al fichero como una base de datos, donde se salta de un registro a otro; cada uno en diferentes partes del fichero. Java proporciona una clase RandomAccessFile para este tipo de entrada/salida.

Creación de un Fichero de Acceso Aleatorio

Hay dos posibilidades para abrir un fichero de acceso aleatorio:

Con el nombre del fichero:

miRAFile = new RandomAccessFile( String nombre,String modo );

Con un objeto File:

miRAFile = new RandomAccessFile( File fichero,String modo );

El argumento modo determina si se tiene acceso de sólo lectura ( r ) o de lectura/escritura ( r/w ). Por ejemplo, se puede abrir un fichero de una base de datos para actualización:

RandomAccessFile miRAFile;

miRAFile = new RandomAccessFile( "/tmp/kk.dbf","rw" );

Acceso a la Información

Los objetos RandomAccessFile esperan información de lectura/escritura de la misma manera que los objetos DataInput/DataOutput. Se tiene acceso a todas las operaciones read() y write() de las clases DataInputStream y DataOutputStream .

También se tienen muchos métodos para moverse dentro de un fichero:

long getFilePointer();

Devuelve la posición actual del puntero del fichero

void seek( long pos );

Coloca el puntero del fichero en una posición determinada. La posición se da como un desplazamiento en bytes desde el comienzo del fichero. La posición 0 marca el comienzo de ese fichero.

long length();

Devuelve la longitud del fichero. La posición length() marca el final de ese fichero.

Actualización de Información

Se pueden utilizar ficheros de acceso aleatorio para añadir información a ficheros existentes:

miRAFile = new RandomAccessFile( "/tmp/kk.log","rw" );

miRAFile.seek( miRAFile.length() );

// Cualquier write() que hagamos a partir de este punto del código

// añadirá información al fichero

Vamos a ver un pequeño ejemplo, Log.java , que añade una cadena a un fichero existente:

import java.io.*;
// Cada vez que ejecutemos este programita, se incorporara una nueva

// linea al fichero de log que se crea la primera vez que se ejecuta

//

class Log {

public static void main( String args[] ) throws IOException {

RandomAccessFile miRAFile;

String s = "Informacion a incorporarnTutorial de Javan";
// Abrimos el fichero de acceso aleatorio

miRAFile = new RandomAccessFile( "/tmp/java.log","rw" );

// Nos vamos al final del fichero

miRAFile.seek( miRAFile.length() );

// Incorporamos la cadena al fichero

miRAFile.writeBytes( s );

// Cerramos el fichero

miRAFile.close();

}

}
1   2   3   4   5   6

similar:

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconIntroduccion al lenguaje quimico

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconDibujo tecnico introducción al curso. Alfabeto de líneas. Letras...

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconIntroducción al lenguaje de Jesús Tusón Valls (Editorial uoc. Aragón, España. 2003)

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconManual de Introducción

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconIntroducción a la programación gráfica en C

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconTaller de Introducción a la Ingeniería en Alimentos

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconProgramación general. Introducción (fundamentos legales y datos informativos)

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconIntroducción a la Epistemología Introducción

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconEvaluacion 2012 1° taller de la lic. En bioquímica, modificatoria...

Taller com/manual-java/introduccion-java php >Introducción a Java Introducción al lenguaje de programación Java iconEvaluacion 2014 1° taller de la lic. En bioquímica, modificatoria...


Medicina



Todos los derechos reservados. Copyright © 2015
contactos
med.se-todo.com