STREAMS DE SALIDA ( FILEOUTPUTSTREAM ESCRITURA) en JAVA

Los Streams de salida es el modo de trabajo que tiene java de escribir (crear ficheros). Este proceso de escritura es realizado a partir de dos clases, FileOutputStream y DataOutputStream que se encuentran en el paquete java.io. Todas los métodos de escritura se complementan con otras clases que no son las anteriormente nombradas.

 

La clase FileOutputStream es útil para la escritura de ficheros de texto. Lo primero que debemos hacer es, abrir el fichero (creando objeto), luego escribiremos y por último lo cerraremos.  Un inconveniente que tiene es que solo se pueden escribir datos de tipo byte.

APERTURA: Existen dos modos para abrir un fichero.

FileOutputStream objeto;

objeto=new FileOutputStream(“ruta y nombre.ext”);

File obj_file=new File(“ruta y nombre.ext”);

FileOutputStream objeto;

objeto=new FileOutputStream(obj_file);

 

ESCRITURA:   Una vez abierto se escriben bytes utilizando alguna de las 3 posibilidades del método write.

objeto.write(int);

objeto.write(byte[]);

objeto.write(byte[],inicio,long_en_bytes);

Escribe un byte.

Escribe un array de bytes.

Escribe n bytes desde inicio hasta la longitud dada.

 

CERRAR:         Se puede utilizar el método close o dejar que el sistema lo cierre cuando se destruya el objeto del fichero.

objeto.close();

 

 

 

La clase DataOutputStream puede escribir datos binarios, es decir, cualquier tipo. Es muy similar a la utilizada anteriormente. Necesitaremos un objeto de la clase FileOutputStream para enlazarlo como un Stream de salida y con un objeto de la clase BufferedOutputStream para crear el buffer de datos.

 

APERTURA:

DataOutputStream obj_data;

BufferOutputStream obj_buffer;

FileOutputStream obj_file;

obj_file=new FileOutputStream(“ruta y nombre.ext”);

obj_buffer=new BufferedOutputStream(obj_file);

obj_data=new DataOutputStream(obj_buffer);

 

ESCRITURA:

obj_data.writetipo(var_tipo);

 

tipo

DESCRIPCIÓN

writeBoolean variable de tipo booleano
writeByte variable de tipo byte
writeShort variable de tipo short
writeChar variable de tipo char
writeInt variable de tipo int
writeFloat variable de tipo float
writeDouble variable de tipo double
writeBytes array de bytes
writeChars array de chars

 

CERRAR:

obj_file.close();

obj_buffer.close();

obj_data.close();

 

 

 

EJEMPLO: Métodos para abrir un fichero. Utilizamos cuadros de dialogo para elegir el fichero.

import java.io.*;

import java.awt.*;

import java.applet.*;

public class abre extends Applet{

TextArea editor=new TextArea(«»,50,70);

Button abre=new Button(«Abrir»);

Frame c1=new Frame();

public void init(){

setLayout(new BorderLayout());

add(«Center»,editor);

add(«South»,abre);

editor.reshape(10,10,300,200);

abre.reshape(40,240,50,50);

}

public boolean action (Event evt, Object obj){

String ruta=»»;

if(evt.target instanceof Button)

{

FileDialog opn;

opn=new FileDialog(c1,»Abrir»,FileDialog.LOAD);

opn.show();

         ruta=opn.getDirectory()+opn.getFile();

         abre_fichero(ruta); //llamamos a nuestra función

return true;

}

return false;

}

public void abre_fichero(String ruta){

String linea=null;

try{

         FileInputStream canal;

         DataInputStream fichero;

         canal=new FileInputStream(ruta);

         fichero=new DataInputStream(canal);

editor.setText(«»);

do{

           linea=fichero.readLine();

editor.appendText(linea+»\n»);

}while(linea!=null);

         canal.close();

         fichero.close();

}

catch(IOException e){}

}

} //cierra la clase

 

 


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *