Java streams
-
Upload
jose-f-rodrigues-jr -
Category
Documents
-
view
177 -
download
4
Transcript of Java streams
![Page 1: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/1.jpg)
http://publicationslist.org/junio
Java Streams (e arquivo)Prof. Jose Fernando Rodrigues Juniorhttp://www.icmc.usp.br/~junio
INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO - USP
SCC0504 - Programação Orientada a Objetos
![Page 2: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/2.jpg)
http://publicationslist.org/junio
• O conceito de streams se refere a uma analogia à água deum rio, o que seria equivalente aos dados que passam porum canal de comunicação
• stream (substantivo): pequeno rio, riacho, córrego(wordreference.com)
• A maior diferença é que a água nos aguarda antes de fluir, eque a fonte de água não é indeterminada
• O conceito se tornou bastante usado em toda a computaçãona década de 90, sendo usado em diversas linguagens deprogramação
Introdução
![Page 3: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/3.jpg)
http://publicationslist.org/junio
• Streams podem se referir aos dados que fluem de diversasfontes distintas: arquivos, conexões de rede, entrada padrãode dados (teclado), ou mesmo a memória
• Streams não podem ser navegadas para frente e para trás, etambém não possuem ponteiros para posição do arquivo
• Para casos assim, usa-se a classe RandomAccessFile, entreoutras
• Streams se baseiam no fluxo unidirecional de bytes, decharacteres, de objetos, entre outras prossibilidades
Introdução
![Page 4: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/4.jpg)
http://publicationslist.org/junio
A classe File
![Page 5: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/5.jpg)
http://publicationslist.org/junio
• File é uma classe que permite gerenciar arquivos
• Ela abstrai os metadados de um dado arquivo ou diretório,como seu caminho, tamanho, e permissões de acesso
Exemplo:
File fonte = new File(“Poo.dat”);if(fonte.exists( )){
if((!fonte.isHidden()) && (!fonte.isDirectory( ))){if(fonte.canRead( ) && fonte.canWrite( )){
//caminho considerando o directório correnteSystem.out.println(fonte.getPath( ));//caminho completo que pode ser um soft link (atalho do SO)System.out.println(fonte.getAbsolutePath( ));//caminho completo como considerado pelo sistema de arquivosSystem.out.println(fonte.getCanonicalPath( ));System.out.println(fonte.lenght( ));fonte.delete( );
}}
}
Classe File
![Page 6: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/6.jpg)
http://publicationslist.org/junio
• File é uma classe que permite gerenciar arquivos
• Ela abstrai os metadados de um dado arquivo ou diretório,como seu caminho, tamanho, e permissões de acesso
Exemplo:
File fonte = new File("c:\\system");if(fonte.isDirectory( )){
File[] files = fonte.listFiles();for(int i = 0; i < files.length; i++)
System.out.println(files[i].getName());}fonte.renameTo(new File(“c:\\system64”));
Classe File
![Page 7: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/7.jpg)
http://publicationslist.org/junio
Leitura de bytes
![Page 8: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/8.jpg)
http://publicationslist.org/junio
• Exemplo:
File-FileInputStream
![Page 9: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/9.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);
tanque(File)
File-FileInputStream
![Page 10: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/10.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);
cano(FileInputStream)
tanque(File)
File-FileInputStream
![Page 11: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/11.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);byte[ ] balde = new byte[64]; /*BUFFER*/
cano(FileInputStream)
tanque(File)
balde(byte[64])
File-FileInputStream
![Page 12: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/12.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);byte[ ] balde = new byte[64]; /*BUFFER*/cano.read(balde);
cano(FileInputStream)
tanque(File)
balde(byte[64])
01011001101100101010101010111100
File-FileInputStream
![Page 13: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/13.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);byte[ ] balde = new byte[64]; /*BUFFER*/cano.read(balde);
cano(FileInputStream)
tanque(File)
balde(byte[64])
01011001101100101010101010111100
File-FileInputStream
![Page 14: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/14.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);byte[ ] balde = new byte[64]; /*BUFFER*/cano.read(balde);System.out.println("CANO (64 bytes): " + balde);
cano(FileInputStream)
tanque(File)
File-FileInputStream
01011001101100101010101010111100
System.out(PrintStream)
![Page 15: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/15.jpg)
http://publicationslist.org/junio
• Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);byte[ ] balde = new byte[64]; /*BUFFER*/cano.read(balde);System.out.println("CANO (64 bytes): " + balde);
cano(FileInputStream)
tanque(File)
File-FileInputStream
01011001101100101010101010111100
System.out(PrintStream)
Como se vê, os streams do Java funcionam segundoum sistema de pipeline (tubulação) – um mecanismofornece os dados para a próxima etapa,sucessivamente.
![Page 16: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/16.jpg)
http://publicationslist.org/junio
Copiando um arquivo
![Page 17: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/17.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:
File-FileInputStream-FileOutputStream
![Page 18: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/18.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);
File-FileInputStream-FileOutputStream
destino(File)
fonte(File)
![Page 19: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/19.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
destino(File)
fonte(File) canoIn
(FileInputStream)
![Page 20: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/20.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
destino(File)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192])
![Page 21: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/21.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
destino(File)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192])
balde
01011001101100101010101010111100
![Page 22: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/22.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);while (length != -1) {
canoOut.write(balde, 0, length);length = canoIn.read(balde);
}
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
destino(File)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192])
![Page 23: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/23.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);while (length != -1) {
canoOut.write(balde, 0, length);length = canoIn.read(balde);
}
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192])
destino(File)
![Page 24: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/24.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);while (length != -1) {
canoOut.write(balde, 0, length);length = canoIn.read(balde);
}
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192]) destino
(File)
![Page 25: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/25.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);while (length != -1) {
canoOut.write(balde, 0, length);length = canoIn.read(balde);
}
File-FileInputStream-FileOutputStream
canoOut(FileOutputStream)
fonte(File) canoIn
(FileInputStream)
balde(byte[8192])
destino(File)
![Page 26: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/26.jpg)
http://publicationslist.org/junio
• Copiando um arquivo com streams. Exemplo:File fonte = new File(nomeFonte);File destino = new File(nomeDestino);FileInputStream canoIn = new FileInputStream(fonte);FileOutputStream canoOut = new FileOutputStream(destino);byte[] balde = new byte[8192]; /*2^13 bytes de buffer*/int length = canoIn.read(balde);while (length != -1) {
canoOut.write(balde, 0, length);length = canoIn.read(balde);
}canoIn.close();canoOut.close();
File-FileInputStream-FileOutputStream
fonte(File)
destino(File)
balde(byte[8192])
![Page 27: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/27.jpg)
http://publicationslist.org/junio
Leitura de bytes como caracteres
![Page 28: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/28.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File-FileInputStream-InputStreamReader
![Page 29: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/29.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);
tanque(File)
File-FileInputStream-InputStreamReader
![Page 30: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/30.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);
cano(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader
![Page 31: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/31.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);
filtro(InputStreamReader )
cano(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader
![Page 32: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/32.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);char[ ] balde = new char[64]; /*BUFFER*/
File-FileInputStream-InputStreamReader
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
balde(char[64])
![Page 33: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/33.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);char[ ] balde = new char[64]; /*BUFFER*/filtro.read(balde);
p r og r am a ca o .
File-FileInputStream-InputStreamReader
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
balde(char[64])
![Page 34: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/34.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);char[ ] balde = new char[64]; /*BUFFER*/filtro.read(balde);
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader
balde(char[64])
p r og r am a ca o .
![Page 35: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/35.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);char[ ] balde = new char[64]; /*BUFFER*/filtro.read(balde);System.out.println("CANO (64 chars): " + balde);
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader
System.out(PrintStream)
![Page 36: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/36.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);char[ ] balde = new char[64]; /*BUFFER*/filtro.read(balde);System.out.println("CANO (64 chars): " + balde);
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader
System.out(PrintStream)
Os readers do Java interpretam os dados como caracteres enão como bytes.
Entre eles: BufferedReader, CharArrayReader, FilterReader,InputStreamReader, PipedReader, StringReader
![Page 37: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/37.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File-FileInputStream-InputStreamReader-BufferedReader
![Page 38: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/38.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
![Page 39: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/39.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);
cano(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
![Page 40: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/40.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
![Page 41: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/41.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);BufferedReader decantador = new BufferedReader(filtro);//BUFFER
decantador(BuffereReader)
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
![Page 42: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/42.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);BufferedReader decantador = new BufferedReader(filtro);//BUFFERString balde = decantador.readLine();
decantador(BuffereReader)
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
balde(String)
“Estruturas de dados \n”
![Page 43: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/43.jpg)
http://publicationslist.org/junio
• Leitores específicos fornecem os dados de diferentesmaneiras. Exemplo:
File tanque = new File(“agua.txt”);FileInputStream cano = new FileInputStream(tanque);InputStreamReader filtro = new InputStreamReader(cano);BufferedReader decantador = new BufferedReader(filtro);//BUFFERString balde = decantador.readLine();System.out.println(balde);
decantador(BuffereReader)
filtro(InputStreamReader )cano
(FileInputStream)
tanque(File)
File-FileInputStream-InputStreamReader-BufferedReader
System.out(PrintStream)
![Page 44: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/44.jpg)
http://publicationslist.org/junio
Escrita/leitura de objetos
![Page 45: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/45.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File-FileOutputStream-ObjectOutputStream
![Page 46: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/46.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();
File-FileOutputStream-ObjectOutputStream
tanque(File)
![Page 47: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/47.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
![Page 48: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/48.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
![Page 49: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/49.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");
t
c
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
![Page 50: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/50.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");
t
c
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
• Atenção: qualquer classe escrita em Java pode serserializada, para isso ela tem que implementar a InterfaceSerializable.
• A Interface Serializable é uma “tagging interface”, ela nãopossui nenhum método e nenhum atributo. Ela apenas tipificauma dada classe indicando que ela pode ser escrita como umasequência de bytes.
![Page 51: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/51.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);
t
c
File-FileOutputStream-ObjectOutputStream
tanque(File)canoOut
(FileOutputStream)
serializador(ObjectOutputStream )
![Page 52: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/52.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);
ttanque(File)
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
![Page 53: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/53.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);
tanque(File)
File-FileOutputStream-ObjectOutputStream
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
![Page 54: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/54.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);FileInputStream canoIn = new FileInputStream(tanque);
File-FileInputStream-ObjectInputStream
tanque(File)
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream ) canoIn
(FileInputStream)
![Page 55: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/55.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);FileInputStream canoIn = new FileInputStream(tanque);ObjectInputStream deserializador = new ObjectInputStream(canoIn);
tanque(File)
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
deserializador(ObjectInputStream )canoIn
(FileInputStream)
File-FileInputStream-ObjectInputStream
![Page 56: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/56.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);FileInputStream canoIn = new FileInputStream(tanque);ObjectInputStream deserializador = new ObjectInputStream(canoIn);c = (Circulo) deserializador.readObject();
tanque(File)
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
deserializador(ObjectInputStream )canoIn
(FileInputStream)
c
File-FileInputStream-ObjectInputStream
![Page 57: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/57.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);FileInputStream canoIn = new FileInputStream(tanque);ObjectInputStream deserializador = new ObjectInputStream(canoIn);c = (Circulo) deserializador.readObject();t = (Triangulo) deserializador.readObject();
tanque(File)
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
deserializador(ObjectInputStream )canoIn
(FileInputStream) t
c
File-FileInputStream-ObjectInputStream
![Page 58: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/58.jpg)
http://publicationslist.org/junio
• Também é possível fazer stream com instâncias de objetos,lendo e escrevendo objetos inteiros em arquivo serialização. Exemplo:
File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);ObjectOutputStream serializador = new ObjectOutputStream(canoOut);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);FileInputStream canoIn = new FileInputStream(tanque);ObjectInputStream deserializador = new ObjectInputStream(canoIn);c = (Circulo) deserializador.readObject();t = (Triangulo) deserializador.readObject();
tanque(File)
tanque(File)
canoOut(FileOutputStream)
serializador(ObjectOutputStream )
deserializador(ObjectInputStream )canoIn
(FileInputStream)
t
c
File-FileInputStream-ObjectInputStream
![Page 59: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/59.jpg)
http://publicationslist.org/junio
Escrita de objetos com compactação
![Page 60: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/60.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 61: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/61.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();
tanque(File)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 62: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/62.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
tanque(File)canoOut
(FileOutputStream)
![Page 63: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/63.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);
tanque(File)canoOut
(FileOutputStream)compactador
(GZIPOutputStream)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 64: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/64.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);ObjectOutputStream serializador = new ObjectOutputStream(compactador);
tanque(File)canoOut
(FileOutputStream)serializador
(ObjectOutputStream )
compactador(GZIPOutputStream)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 65: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/65.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);ObjectOutputStream serializador = new ObjectOutputStream(compactador);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");
t
ctanque(File)canoOut
(FileOutputStream)serializador
(ObjectOutputStream )
compactador(GZIPOutputStream)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 66: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/66.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);ObjectOutputStream serializador = new ObjectOutputStream(compactador);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);
t
ctanque(File)canoOut
(FileOutputStream)serializador
(ObjectOutputStream )
compactador(GZIPOutputStream)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 67: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/67.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);ObjectOutputStream serializador = new ObjectOutputStream(compactador);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);
t canoOut(FileOutputStream)
serializador(ObjectOutputStream )
compactador(GZIPOutputStream)
tanque(File)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 68: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/68.jpg)
http://publicationslist.org/junio
• Pode-se também usar compactação. Exemplo:File tanque = new File(“POO.dat”);tanque.createNewFile();FileOutputStream canoOut = new FileOutputStream(tanque);GZIPOutputStream compactador = new GZIPOutputStream(canoOut);ObjectOutputStream serializador = new ObjectOutputStream(compactador);Circulo c = new Circulo(232.43f, 432.15f, "Um circulo");Triangulo t = new Triangulo(543, 67, 215, "Um triangulo");serializador.writeObject(c);serializador.writeObject(t);
Exercício: escreva o código e ilustre a leitura dos objetos queforam compactados em arquivo.
tanque(File)canoOut
(FileOutputStream)serializador
(ObjectOutputStream )
compactador(GZIPOutputStream)
File-FileOutputStream-GZIPOutputStream-ObjectOutputStream
![Page 69: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/69.jpg)
http://publicationslist.org/junio
Acesso aleatório a arquivo
![Page 70: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/70.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:
File-RandomAccessFile
![Page 71: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/71.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);
File-RandomAccessFile
![Page 72: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/72.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");
File-RandomAccessFile
![Page 73: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/73.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";
File-RandomAccessFile
![Page 74: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/74.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}
File-RandomAccessFile
Professional JPP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
![Page 75: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/75.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao início
File-RandomAccessFile
Professional JPP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
![Page 76: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/76.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreve
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
![Page 77: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/77.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o final
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
![Page 78: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/78.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
![Page 79: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/79.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
![Page 80: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/80.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo/*Lê linha por linha*/while (raf.getFilePointer() < raf.length()) {
System.out.println(raf.readUTF());}
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
![Page 81: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/81.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo/*Lê linha por linha*/while (raf.getFilePointer() < raf.length()) {
System.out.println(raf.readUTF());}
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
![Page 82: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/82.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo/*Lê linha por linha*/while (raf.getFilePointer() < raf.length()) {
System.out.println(raf.readUTF());}
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
![Page 83: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/83.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo/*Lê linha por linha*/while (raf.getFilePointer() < raf.length()) {
System.out.println(raf.readUTF());}
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming
…
![Page 84: Java streams](https://reader034.fdocumentos.tips/reader034/viewer/2022052213/55757090d8b42a2e248b5111/html5/thumbnails/84.jpg)
http://publicationslist.org/junio
• Acesso aleatório. Exemplo:File fTemp = new File(sAFile);RandomAccessFile raf = new RandomAccessFile(sAFile, "rw");String books[] = new String[5];books[0] = "Professional JPP";books[1] = "The Java Application Programming Interface";books[2] = "Java Security";books[3] = "Java Security Handbook";books[4] = "Hacking Exposed J2EE & Java";/*Escreve a partir do início*/for (int i = 0; i < books.length; i++) {
raf.writeUTF(books[i]);}raf.seek(0); //volta ao inícioraf.writeUTF("Professional JSP"); //sobreescreveraf.seek(raf.length()); //vai para o finalraf.writeUTF("Servlet & JSP Programming"); //escreve (append)raf.seek(0); //início de novo/*Lê linha por linha*/while (raf.getFilePointer() < raf.length()) {
System.out.println(raf.readUTF());}raf.close(); //fecha
File-RandomAccessFile
Professional JSP
The Java ApplicationProgramming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming