Pacote Java

Páginas: 13 (3044 palavras) Publicado: 5 de junho de 2015
Pacote java.io
"A benevolência é sobretudo um vício do orgulho e não uma virtude da alma."
Ao término desse capítulo, você será capaz de:
ler e escrever bytes, caracteres e Strings de/para a entrada e saída padrão;
ler e escrever bytes, caracteres e Strings de/para arquivos;
utilizar buffers para agilizar a leitura e escrita através de fluxos;
usar Scanner e PrintStream.
15.1 - Conhecendo umaAPI
Vamos passar a conhecer APIs do Java. java.io e java.util possuem as classes que você mais comumente vai usar, não importando se seu aplicativo é desktop, web, ou mesmo para celulares.
Apesar de ser importante conhecer nomes e métodos das classes mais utilizadas, o interessante aqui é que você enxergue que todos os conceitos previamente estudados são aplicados a toda hora nas classes dabiblioteca padrão.
Não se preocupe em decorar nomes. Atenha-se em entender como essas classes estão relacionadas e como elas estão tirando proveito do uso de interfaces, polimorfismo, classes abstratas e encapsulamento. Lembre-se de estar com a documentação (javadoc) aberta durante o contato com esses pacotes.
Veremos também threads e sockets em capítulos posteriores, que ajudarão a condensar nossoconhecimento, tendo em vista que no exercício de sockets utilizaremos todos conceitos aprendidos, juntamente com as várias APIs.
15.2 - Orientação a objetos no java.io
Assim como todo o resto das bibliotecas em Java, a parte de controle de entrada e saída de dados (conhecido como io) é orientada a objetos e usa os principais conceitos mostrados até agora: interfaces, classes abstratas e polimorfismo.
Aideia atrás do polimorfismo no pacote java.io é de utilizar fluxos de entrada (InputStream) e de saída (OutputStream) para toda e qualquer operação, seja ela relativa a um arquivo, a um campo blob do banco de dados, a uma conexão remota via sockets, ou até mesmo às entrada e saída padrão de um programa (normalmente o teclado e o console).
As classes abstratas InputStream e OutputStream definem,respectivamente, o comportamento padrão dos fluxos em Java: em um fluxo de entrada, é possível ler bytes e, no fluxo de saída, escrever bytes.
A grande vantagem dessa abstração pode ser mostrada em um método qualquer que utiliza um OutputStream recebido como argumento para escrever em um fluxo de saída. Para onde o método está escrevendo? Não se sabe e não importa: quando o sistema precisar escreverem um arquivo ou em uma socket, basta chamar o mesmo método, já que ele aceita qualquer filha de OutputStream!
15.3 - InputStream, InputStreamReader e BufferedReader
Para ler um byte de um arquivo, vamos usar o leitor de arquivo, o FileInputStream. Para um FileInputStream conseguir ler um byte, ele precisa saber de onde ele deverá ler. Essa informação é tão importante que quem escreveu essaclasse obriga você a passar o nome do arquivo pelo construtor: sem isso o objeto não pode ser construído.
class TestaEntrada {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("arquivo.txt");
int b = is.read();
}
}
123456
A classe InputStream é abstrata e FileInputStream uma de suas filhas concretas.FileInputStream vai procurar o arquivono diretório em que a JVM fora invocada (no caso do Eclipse, vai ser a partir de dentro do diretório do projeto). Alternativamente você pode usar um caminho absoluto.
Quando trabalhamos com java.io, diversos métodos lançam IOException, que é uma exception do tipo checked - o que nos obriga a tratá-la ou declará-la. Nos exemplos aqui, estamos declarando IOException através daclausula throws do main apenas para facilitar o exemplo. Caso a exception ocorra, a JVM vai parar, mostrando a stacktrace. Esta não é uma boa prática em uma aplicação real: trate suas exceptions para sua aplicação poder abortar elegantemente.
InputStream tem diversas outras filhas, como ObjectInputStream,AudioInputStream, ByteArrayInputStream, entre outras.
Para recuperar um caractere, precisamos traduzir os bytes...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Java: swing classes do pacote swing
  • Tipos disponíveis de "Layout" em Java e principais componentes do pacote "swing"
  • Analise de pacotes
  • PACOTES DE VIAGEM
  • pacote office
  • java
  • Java
  • Java

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!