STREAMS DE ENTRADA (FILEINPUTSTREAM – LECTURA) en JAVA
STREAMS DE ENTRADA (FILEINPUTSTREAM – LECTURA) en JAVA
La comparativa necesaria de la escritura de datos es la lectura. Este proceso se realiza a través de la clase FileInputStream que representa el fichero a leer. El modo en que se puede leer el fichero es completo, parcial (varios bytes) o acceder a un byte determinado. El inconveniente de utilizar solo esta clase es que, solo puede leer datos de tipo byte.
APERTURA: Dos modos de realizar la apertura.
FileInputStream obj;
obj=new FileInputStream(“ruta y nombre.ext”);
File obj_file=new File(“ruta y nombre.ext”);
FileInputStream obj;
obj=new FileInputStream(obj_file);
LECTURA: Una vez abierto el fichero se puede utilizar cualquiera de las 3 opciones del método read.
var_int=obj.read();
var_int=obj.read(byte[]);
var_int=obj.read(byte [], inicio,longitud);
Devuelve el byte leído o –1 si ha llegado al final del fichero.
Rellena el array con lo leído y devuelve el total de bytes o –1 si es final de fichero.
Llena el array desde inicio hasta longitud. Da los bytes leídos o –1 si es final de fichero.
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 DataInputStream se comporta de una manera muy parecida a FileInputStream. Pero los datos que lee pueden ser de cualquier tipo. Se suele utilizar con ficheros binarios y utiliza la clase FileInputStream como apoyo en las operaciones de lectura.
APERTURA:
DataInputStream obj_data;
FileInputStream obj_file;
obj_file=new FileInputStream(“ruta y nombre.ext”);
obj_data=new DataInputStream(obj_file);
LECTURA:
var tipo=obj_data.readtipo();
tipo | DESCRIPCIÓN |
readByte | Lee tipo byte. |
readShort | Lee tipo short. |
readChar | Lee tipo char. |
readInt | Lee tipo int. |
readLong | Lee tipo long. |
readFloat | Lee tipo float. |
readDouble | Lee tipo double. |
readLine | Lee Una cadena (líneas). |
CERRAR:
obj_file.close();
obj_data.close();
EJEMPLO: Métodos para guardar ficheros. Utilizamos cuadros de dialogo para elegir el fichero.
import java.io.*;
import java.awt.*;
import java.applet.*;
public class salva extends Applet{
TextArea editor=new TextArea(«»,50,70);
Button guarda=new Button(«Guardar»);
Frame c1=new Frame();
public void init(){
setLayout(new BorderLayout());
add(«Center»,editor);
add(«South»,guarda);
editor.reshape(10,40,300,200);
guarda.reshape(240,240,50,50);
}
public boolean action (Event evt, Object obj){
String ruta=null;
if(evt.target instanceof Button)
{
FileOutputStream canal;
DataOutputStream fichero;
FileDialog sal;
sal=new FileDialog(c1,»Guardar»,FileDialog.SAVE);
sal.setFile(ruta);
sal.show();
ruta=sal.getFile();
try{
canal=new FileOutputStream(ruta);
fichero=new DataOutputStream(canal);
fichero.writeBytes(editor.getText());
canal.close();
fichero.close();
}
catch(IOException e){}
return true;
}
return false;
}
} // cierra la clase
Comentarios recientes