Junneth

Solo disponible en BuenasTareas
  • Páginas : 11 (2594 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de enero de 2012
Leer documento completo
Vista previa del texto
ACEARCHIVOS EN JAVA

* Flujos de Entrada y Salida

Concepto de flujo: es como un río. El agua en movimiento es el flujo, su contenido son los datos. Lo que permite que esos datos viajen de un origen a un destino es el agua en movimiento, es decir, el flujo. En el caso de la captura, desde un programa Java, de datos introducidos por un usuario mediante teclado, el origen es el teclado, eldestino, el programa Java y los datos, lo tecleado por el usuario.
Un flujo de entrada / salida (I/O stream, Input / Output stream) representa una fuente desde la cual se reciben datos o un destino hacia el cual se envían datos. Un flujo de datos puede provenir o dirigirse hacia archivos en disco, dispositivos de comunicaciones, otros programas o arreglos en memoria. Los datos pueden ser bytes,tipos primitivos, caracteres propios de un idioma local, u objetos. Los flujos pueden simplemente transferir datos sin modificación o manipular esos datos para transformarlos de diversas maneras como parte del proceso de transferencia. Sea cual sea el tipo de datos, un flujo se presenta como una secuencia de datos. Un flujo de entrada (input stream) lee datos de una fuente, un item por vez. Un flujode salida (output stream) escribe datos en un destino, un item por vez.

* Lectura
Lectura
Abrir un flujo
Mientras existan datos disponibles
Leer datos
Cerrar el flujo

La clase abstracta InputStream declara los métodos para leer datos desde una fuente concreta y es la clasa base de la mayor parte de los flujos de entrada en java.io. Soporta los métodos siguientes:
* intread() leeun sólo byte de datos y los devuelve en el rango [0..255]. Devuelve -1 cuando se alcanza el final del flujo y no puede seguir leyendo bytes.
* intread(byte [] buf) lee un array de bytes hasta buf.length. Devuelve el número de bytes leidos o -1 cuando se llega al final del flujo.
* intread(byte [] buf, int off, intlen) lee len bytes del flujo (o los que pueda) y los coloca a partir de laposición off del array.
* longskip(longcount) salta hasta count bytes de entrada o hasta el final del flujo de entrada, devolviendo el número de bytes saltados.
* intavailable() devuelve el número de bytes que están disponibles para leerse.
* voidclose() cierra el flujo de entrada que abrió el constructor no-arg, liberando los recursos asociados a ese flujo. No es necesario invocar estemétodo ya que el flujo se cierra cuando se destruye el objeto aunque es conveniente hacerlo ya que vuelca el buffer sobre el disco.
El siguiente ejemplo es un programa muy sencillo que hace el eco del la entrada estandar (el teclado) leyendo los caracteres de 5 en 5 (el return también es un carácter). Finaliza cuando se cierra el flujo de entrada con un carácter Ctrl-D. El método main debeindicar que lanzará una excepción InputStream. El método read se aplica sobre el objeto System.in que es un flujo de entrada; la entrada estandar, el teclado. El constructorString(byte[] bytes, inthiByte, int offset, intconunt) hace un String nuevo cuyo valor es el subarray especificado del array bytes comenzando en offset y de count caracteres. En las conversiones de ASCII8 o ISO-LATIN-1el hibyte estará a 0.
import java.io.*;

class Eco{
public static void main(String [] args)
throwsIOException{

byte [] b= new byte[5];
String cadena;
int l=0;
for(;;){
l=System.in.read(b);
if (l<0)break;
cadena= new String(b,0,0,l);
System.out.print("/"+cadena+"/");
}
}}

* Escritura
Escritura
Abrir un flujo
Mientras existan datos disponibles
Escribir datos
Cerrar el flujo

La clase abstracta OutputStream es análoga a InputStream sólo que proporciona métodos para manejar el flujo de salida. Los métodos...
tracking img