ObjectOutputStream: para persistencia de obj

Programación Orientada a Objetos Persistencia en JAVA Angela C. Carrillo Ramos Persistencia Manejo de Streams Un Stream representa un flujo de dato

9 downloads 173 Views 224KB Size

Story Transcript

Programación Orientada a Objetos

Persistencia en JAVA

Angela C. Carrillo Ramos

Persistencia Manejo de Streams Un Stream representa un flujo de datos, o un canal de comunicación con un escritor o un lector lector..

Tipos:: Tipos InputStream/OutputStream: L/E de Bytes InputStream/OutputStream:  Reader/Writer Reader/Writer:: L/E de Caracteres  InputStreamReader/OutputStreamWriter InputStreamReader/OutputStreamWriter:: convierte bytes en caracteres y viceversa 

1

Persistencia Tipos DataInputStream/DataOutputStream: L/E DataInputStream/DataOutputStream: de datos de tipo simple y Cadenas (Strings)  ObjectInputStream/ObjectOutputStream ObjectInputStream/ObjectOutputStream:: para persistencia de objetos en Java  BufferedInputStream/ BufferedOutputStream/ BufferedReader/ BufferedWriter:: Adiciona eficiencia BufferedWriter 

Persistencia

write() OutputStream

read() InputStream

2

Persistencia Consejos para utilizar Streams InputStream y OutputStream son clases abstractas.. abstractas  El número de bytes disponibles para leer en un InputStream se halla con el método available()  close() close():: Para cerrar el Stream 

Persistencia Ejemplo try{

InputStreamReader converter= InputStreamReader (System.in); BufferedReader in = new BufferedReader(converter); String text = in.readLine(); int i = NumberFormat.getInstance().parse(text).intValue(); } catch(IOException e){ } catch(ParseException pe){ }

3

Persistencia Si necesita leer o escribir cadenas de caracteres, use una variedad de Reader o Writer.. De lo contrario, use byte Streams Writer  Se puede usar DataInputStream con alguna clase de input Stream, para leer desde un archivo, un socket o la entrada estándar, si se niecesita leer String o tipos de datos básicos. básicos. 

Persistencia writeFloat() writeInt() writeLong()

write()

read() readFloat() readInt() readLong()

DataOutputStream OutputStream

DataInputStream InputStream

4

Persistencia Files La clase java. java.io io..File encapsula el acceso a la información de un archivo o un directorio en el sistema de archivos

Constructores File unarchivo = new File(“archivo.txt”) File unarchivo2 = new File(“directorio”,“archivo.txt”)

Persistencia Métodos de File Método

Retorna

canRead() boolean canWrite() boolean delete() boolean exists() boolean getAbsolutePath() String getName String

Sirve para archivo de lectura? archivo de escritura? borra el archivo Existe el archivo? Retorna el path Retorna el nombre

5

Persistencia Métodos de File Método

Retorna

Sirve para

getParent() getPath() isDirectory() isFile() lastModified()

String String boolean boolean long

Nombre del directorio. directorio. Retorna el path Es directorio? Es archivo? Tiempo de la última modificación

Persistencia Métodos de File Método

Retorna

length() long list() String[ ] mkdir() boolean mkdirs() boolean renameTo(File dest)boolean

Sirve para Tamaño Archivos de un dir. Crea el directorio Crea todos los dir. Renombre el archivo

6

Persistencia File Streams File archivo = new File(“etc/password”); FileInputStream sarchivo = new FileInputStream(archivo); FileInputStream sarchivo = new FileInputStream (“etc/password”); 





En caso de error pueden lanzarse dos excepciones FileNotFoundException o IOException IOException.. Si no hay error, sus métodos available() y length() tienen el mismo valor Usar close() al terminar de usarlo. usarlo.

Persistencia Ejemplo: El contenido de un archivo lo imprime por la salida estándar (std.out) import java.io.*; class ListIt{ public static void main (String args[]) throws Exception{ File file = new File (args[1]); if (!file.exists() || !file.canRead()){ System.out.println(“Imposible leer ” + file); return; }

7

Persistencia if (file.isDirectory()){ String [] files = file.list(); for (int i=0; i

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.