A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "Linguagens de Programação"— Transcrição da apresentação:

1 Linguagens de Programação
Fluxo de Dados: Entrada e Saída

2 Um Pacotes para E/S O pacote java.io fornece um grande número de classes para tratar entrada e saída de dados transferência de dados do programa para fontes externas e vice-versa entrada e saída de dados envolve o uso de fluxos (streams)

3 Um Pacotes para E/S Dados sendo enviados para um programa
Dados sendo enviados por um programa

4 Fluxo de Informações Sequência de bytes que fluem para dentro ou para fora do programa

5 Copiando arquivos (P1)–byte streams
FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("ensinamento.txt"); // out = new FileOutputStream("outroarquivo.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } } finally { if (in != null) { in.close(); if (out != null) { out.close();

6 Copiando arquivos Notar que: read() retorna um valor inteiro
É importante para identificar o fim de arquivo = “-1” Sempre feche as streams Byte streams devem ser usados apenas com entrada/saída de dados primitivos

7 Streams Um stream é uma abstração de um fluxo contínuo de dados em uma única direção As classes que manipulam streams podem ser agrupadas em dois tipos: byte streams classes InputStream e OutputStream character streams classes Reader e Writer

8 Character streams Quando a internacionalização é a prioridade
Faz as adaptações automaticamente Classes usadas: Reader Writer FileReader FileWriter

9 Copiando (P2)–character streams
FileReader inputStream = null; FileWriter outputStream = null; try { inputStream = new FileReader(“amizade.txt"); outputStream = new FileWriter(“outroarquivo2.txt"); int c; while ((c = inputStream.read()) != -1) { outputStream.write(c); } } finally { if (inputStream != null) { inputStream.close(); } if (outputStream != null) { outputStream.close(); } } } }

10 Line-oriented I/O I/O de caracteres ocorrem em grandes quantidades
I/O orientada a linha de caracteres permite ler uma sequência de caracteres terminada por: carriage-return/line-feed sequence(“\r\n”) carriage-return(“\r”) line-feed(“\n”) Classes usadas BufferredReader and PrintWriter

11 Line-oriented I/O – (P3)
FileReader inputStream = null; FileWriter outputStream = null; try { inputStream = new FileReader("amor.txt"); outputStream = new FileWriter("arquivo.txt"); int c; while ((c = inputStream.read()) != -1) { outputStream.write(c); }

12 Exercício Seja o seguinte registro:
nome, idade, sexo, estadoCivil; Utilizar a entrada/saída de streams de caracteres para criar um programa para gravar em um arquivo os dados formatados do registro acima; Utilizar a entrada/saída de streams de caracteres para criar um programa para ler de um arquivo os dados formatados gravados em um arquivo;

13 A classe Scanner Usando outro delimitador
Objetos da classe Scanner são úteis para formatar entradas separando os campos em “white spaces” '\u0009' HORIZONTAL TABULATION. '\u000A', LINE FEED. '\u000B', VERTICAL TABULATION. '\u000C', FORM FEED. '\u000D', CARRIAGE RETURN. Usando outro delimitador s.useDelimiter(",\\s*");

14 A classe Scanner Scanner s = null; try {
s = new Scanner(new BufferedReader(new FileReader("ausencia.txt"))); // s.useDelimiter(",\\s*"); while (s.hasNext()) { System.out.println(s.next()); } } finally { if (s != null) { s.close();


Carregar ppt "Linguagens de Programação"

Apresentações semelhantes


Anúncios Google