entra da salida java
TRANSCRIPT
-
7/23/2019 Entra Da Salida Java
1/16
1
Entrada/Salida en Java
Jaime Ramrez, ngel Lucas GonzlezDLSIIS. Facultad de Informtica
Uniersidad !olit"cnica de #adrid.
-
7/23/2019 Entra Da Salida Java
2/16
2
Streams
$ Un stream re%resenta un flu&o deinformaci'n(
$%rocedente de una fuente)teclado, file, memoria, red,etc.* o
$dirigida a un destino)%antalla, file, etc.*
$ Los streams com%arten unamisma interfaz +ue ace a-stracci'n
de los detalles es%ecficos de cadadis%ositio de /S.
$0odas las clases de streams estnen el %a+uete &aa.io
-
7/23/2019 Entra Da Salida Java
3/16
3
Clases de Streams
(Streams orientados a byte)$Los m'dulos som-reados re%resentanfuentes de datos.
$Los m'dulos sin som-rearre%resentan %rocesadores.
$Los %rocesadores se %ueden a%licar aotro %rocesador o a una fuente.
-
7/23/2019 Entra Da Salida Java
4/16
4
Subclases de InputStream
$ FileIn%utStream( lectura de files -1te a -1te
$ 2-&ectIn%utStream( lectura de files con
o-&etos.$ FilterIn%utStream(34ufferedIn%utStream( lectura con -uffer, ms
eficiente.
3DataIn%utStream( lectura de ti%os de datos%rimitios )int, dou-le, etc.*.
-
7/23/2019 Entra Da Salida Java
5/16
5
Subclases de utputStream
$ File2ut%utStream( escritura de files -1te a -1te
$ 2-&ect2ut%utStream( escritura de files cono-&etos.
$ Filter2ut%utStream(34uffered2ut%utStream( escritura con -uffer, ms
eficiente.
3Data2ut%utStream( escritura de ti%os de datos%rimitios )int, dou-le, etc.*.
-
7/23/2019 Entra Da Salida Java
6/16
!
Clases de Streams
(Streams orientados a caracter)
$ So%ortan U5I62D )78 -its %ara un car*.
$ #'dulos som-reados son fuentes, 1 sin som-rear son%rocesadores.
-
7/23/2019 Entra Da Salida Java
7/16
"
Subclases de #eader
$ In%utStreamReader( conierte un stream de-1tes en un stream de cars.3FileReader( se asocia a files de cars %ara leerlos.
$ 4ufferedReader( %ro%orciona entrada decaracteres a tra"s de un -uffer )mseficiencia*.
-
7/23/2019 Entra Da Salida Java
8/16
$
Subclases de %riter
$ 2ut%utStream9riter( conierte un stream de-1tes en un stream de cars.3File9riter( se asocia a files de cars %ara
modificarlos.$ 4uffered9riter( %ro%orciona salida de
caracteres a tra"s de un -uffer )ms
eficiencia*.$ !rint9riter( m"todosprint()1println()%aradistintos ti%os de datos.
-
7/23/2019 Entra Da Salida Java
9/16
&
tras Clases de 'avaio
$ File( %ermite realizar o%eraciones a-itualescon files 1 directorios.
$Random:ccessFile( %ermite acceder al n;"simo registro de un file sin %asar %or losanteriores.
$ Stream0o un streamen to
-
7/23/2019 Entra Da Salida Java
10/16
1
*+picos ,sos de los Streams
(lectura por l+neas)publicstaticvoidmain(String[] args) throwsIOException {
// a! Se lee un "le l#nea a l#nea$u%ered&eader in ' new$u%ered&eader( newile&eader(IOStream*emo!+ava)),String s- s. ' newString(),while((s ' in!readine())0' null)
s. 1' s 1 2n,in!close(),// b! Se lee una l#nea por teclado$u%ered&eader stdin ' new$u%ered&eader( newInputStream&eader(S3stem!in)),S3stem!out!print(Enter a line4),S3stem!out!println(stdin!readine()),
?
-
7/23/2019 Entra Da Salida Java
11/16
11
-arsin. de tipos bsicos
String linea,
int a,
$u%ered&eader stdin ' new$u%ered&eader( newInputStream&eader(S3stem!in)),
S3stem!out!print(Enter a line4),
linea ' stdin!readine(),
a ' Integer!parseInt(linea),
S3stem!out!println(a),
$ 0am-i"n estn dis%oni-les( %arseDou-le)*, %arseLong)*
-
7/23/2019 Entra Da Salida Java
12/16
12
*+picos ,sos de los Streams
(escritura por l+neas)
// throws IOException
String []s ' {5hola5- 56ue7- 5tal78,
// Se iniciali9a s
:rint;riter out ' new:rint;riter( new$u%ered;riter( newile;riter(IO*emo!out))),
intline, i?s!length(), i11)out!println(line
-
7/23/2019 Entra Da Salida Java
13/16
13
*+picos ,sos de los Streams
(escritura de tipos bsicos)
// throws IOException *ataOutputStream out. ' new
*ataOutputStream(new$u%eredOutputStream(new
ileOutputStream(*ata!txt))),
out.!write*ouble(@!ABC),out.!write$3tes(Dhat was pi2n5),
out.!write
-
7/23/2019 Entra Da Salida Java
14/16
14
*+picos ,sos de los Streams
(lectura de tipos bsicos)
// throws IOException*ataInputStream inB ' new*ataInputStream( new
$u%eredInputStream( new
ileInputStream(*ata!txt))),
S3stem!out!println(inB!read*ouble()),S3stem!out!println(inB!readine()), // deprecatedS3stem!out!println(inB!read*ouble()),S3stem!out!println(inB!readD()),
-
7/23/2019 Entra Da Salida Java
15/16
15
*+picos ,sos de los Streams
(0iles de acceso aleatorio)// throws IOException// acceso de lectura/escritura&andomFccessile r= ' new&andomFccessile(rtest!dat- rw),=or(inti ' >, i ? >, i11)r=!write*ouble(iG!>>),
r=!close(),r= ' new&andomFccessile(rtest!dat- rw),r=!seeH(BG), // salta B doubles ( b3tes cada uno)r=!write*ouble(AJ!>>), // modi"ca el sexto doubler=!close(),// acceso de sKlo lecturar= ' new&andomFccessile(rtest!dat- r),=or(inti ' >, i ? >, i11)S3stem!out!println( Lalue 1 i 1 4 1 r=!read*ouble()),r=!close(),
-
7/23/2019 Entra Da Salida Java
16/16
1!
*+picos ,sos de los Streams
(b'ect Stream)$ Jaa %ermite guardar o-&etos en ficeros, %ero esos o-&etos
de-en im%lementar la interfaz Serializable(public class MySerializableClass implements Serializable { ... }
$ &em%lo(
// tro@s I2Ace%tionFile2ut%utStream out B ne@ File2ut%utStream)Cte0ime.datC*2-&ect2ut%utStream s B ne@ 2-&ect2ut%utStream)out*s.@rite2-&ect)C0oda1C*s.@rite2-&ect)ne@ Date)7,7,E8**s.close)*
// tro@s I2Ace%tion 1 6lass5otFoundAce%tionFileIn%utStream in B ne@ FileIn%utStream)Cte0ime.datC*2-&ectIn%utStream s B ne@ 2-&ectIn%utStream)in*String toda1 B )String*s.read2-&ect)*Date date B )Date*s.read2-&ect)*s.close)*