Entrada Y Salida En Java
154
8. Entrada/Salida – Paquete java.io
Object InputStream FileInputStream FilterInputStream DataInputStream File OutputStream FileOutputStream FilterOutputStream DataOutputStream
ObjectInputStream
ObjectOutputStream
David Contreras Bárcena
155
8. Entrada/Salida – Paquete java.io
Object Reader BufferedReader InputStreamReader BufferedWriterPrintWriter FileReader FileWriter Writer OutputStreamWriter
David Contreras Bárcena
156
8. Entrada/Salida – Paquete java.io
El paquete java.io proporciona un marco de trabajo para realizar operaciones de entrada y salida entre nuestro programa java y cualquier dispositivo externo al sistema (teclado, consola, ficheros, maquinas remotas,...) Se puede tener cierta independencia entre el programaJava y el dispositivo gracias a la utilización de streams. Un stream es un elemento software que permite el intercambio de un flujo de bits entre dos entes en un solo sentido. Para una operación de lectura y escritura contra un fichero, por ejemplo, necesitaríamos dos streams, uno de entrada y otro de salida. Las clases InputStream y OutputStream implementan en Java esta funcionalidad.
DavidContreras Bárcena
157
8. Entrada/Salida – Paquete java.io
La API de Java diferencia entre los streams de caracteres y streams de bytes. Streams de bytes (InputStream y OutputStream)
Diseñados para operar a nivel de byte. Hay ciertos dispositivos que sólo pueden trabajar a este nivel.
Streams de caracteres (Reader y Writer):
Diseñados para optimizar las operaciones con cadenas decaracteres. Posteriores a las anteriores. Soportan codificaciones Unicode-16. Cualquier fichero de texto puede ser accedido directamente a través de este tipo de stream. Existen dispositivos, que aunque están preparados para enviar/recibir información de esta naturaleza, no pueden tratatrse directamente con este stream. En estos casos, se deberá envolver el stream de bytes con un stream de caracteres: (verdiap. sig.)
InputStreamReader OutputStreamReader
David Contreras Bárcena
158
8. Entrada – Modo de Operación
INPUTSTREAM Byte Tipos de datos
readUTF() readInt() read(byte)
READER Objetos Líneas de caracteres
readLine()
readObject()
ObjectInputStream DataInputStream
BufferedReader
InputStreamReader
FileInputStream File / String Fichero
InputStream
FileReaderOtros disp. I/O
David Contreras Bárcena
Fichero
159
8. Salida – Modo de Operación
OUTPUTSTREAM Byte Tipos de datos Objetos
writeUTF(String) writeObject(Object) writeInt(int) write(byte[])
WRITER Líneas de caracteres
println(String)
PrintWriter BufferedWriter
ObjectOutputStream DataOutputStream
OutputStreamWriter FileOutputStream File / String OutputStream FileWriterFichero
Otros disp. I/O
David Contreras Bárcena
Fichero
160
8. Entrada/Salida – Excepciones
Object Throwable Exception IOException
EOFException InterruptedIOException
FileNotFoundException UTFDataFormatException
OptionalDataException
David Contreras Bárcena
161
8. Clase File
Implementa un fichero del sistema de archivos. Se emplea para obtener información del ficherosobre el cual vamos a trabajar. Métodos:
String getName() String getPath() boolean renameTo(File) boolean exists() boolean delete() boolean mkdir() boolean isDirectory() ...
David Contreras Bárcena
162
8. Clase File - Ejemplo
import java.io.*; public class FileInfo { public static void main(String[] args) { File path; path =new File(args[0]); String exists =path.exists()? "Si": "No";String canRead =path.canRead()? "Si": "No"; String canWrite = path.canWrite()? "Si": "No"; String isFile = path.isFile()? "Si": "No"; String isDir = path.isDirectory()? "Si": "No"; System.out.println("Existe :"+exists); if (path.exists()){ System.out.println("De lectura :"+canRead); System.out.println("De Escritura :"+canWrite); System.out.println("Es un directorio :"+isDir); System.out.println("Es...
Regístrate para leer el documento completo.