Reader e Writer para streams de caracteres (texto).
|
|
|
- Amanda Antas Peralta
- 9 Há anos
- Visualizações:
Transcrição
1 Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo físico concreto. Todas as classes que implementam streams em Java são subclasses das classes abstractas InputStream e OutputStream para streams de bytes e das classes abstractas Streams de caracteres Reader e Writer para streams de caracteres (texto). As subclasses de Writer têm que implementar os métodos definidos nesta classe abstracta, nomeadamente, write(string s), write (int c); write(char[] b); flush(), close(),... Analogamente as subclasses de Reader têm que implementar, entre outros, os métodos int read() int read(char[] c); close(),... As classes FileReader e FileWriter Construtores: FileReader (File file); FileReader (String filename);... FileWriter (File file); FileWriter (String filename);... As classes FileReader e FileWriter permitem-nos respectivamente ler e escrever caracteres em objectos do tipo File. No entanto a leitura e a escrita de um carácter de cada vez não é geralmente a forma mais eficiente de manipular ficheiros de texto. As classes BufferedReader e BufferedWriter possuem métodos para leitura e escrita linha a linha. As classes BufferedReader e BufferedWriter Construtores: BufferedReader (Reader in) BufferedWriter (Writer out) 1 Teste a classe abaixo. public class c1 {
2 Folha 1-2 public static void main (String args[]){ BufferedWriter bw; bw = new BufferedWriter ( new FileWriter ("d:\\my_work\\teste1.txt")); bw.write( 1 ); bw.newline(); bw.write( 2 ); bw.flush(); bw.close(); catch (IOException e){ System.out.println(e.getMessage()); A principal vantagem da classe BufferedWriter é que esta realiza escritas optimizadas sobre streams (de caracteres) através de um mecanismo de buffering. Os dados vão sendo armazenados num buffer intermédio sendo a escrita na stream de destino apenas efectuada quando se atinge o máximo da capacidade do buffer. Como vimos acima, o construtor da classe BufferedWriter recebe como argumento um objecto da classe Writer, o que significa que uma instância da classe BufferedWriter pode ser definida sobre qualquer subclasse da classe Writer, sempre que for necessário optimizar operações de escrita pouco eficientes. Simetricamente uma classe BufferedReader pode ser definida sobre qualquer subclasse da classe Reader. 2 - Crie uma classe que leia o ficheiro teste1.txt. A classe PrintWriter Construtores: PrintWriter(OutputStream out); PrintWriter(OutputStream out, boolean autoflush) PrintWriter(Writer out); PrintWriter(Writer out, boolean autoflush) As instâncias de PrintWriter podem ser criadas sobre qualquer subclasse de Writer e também sobre uma qualquer stream de bytes (subclasses de OutputStream) Esta classe define os métodos print() e println() que recebem como parâmetro um valor de qualquer tipo simples.
3 3 Teste a classe abaixo. Folha 1-3 public class c2 { public static void main (String args[]){ PrintWriter pw; pw = new PrintWriter ( new FileWriter ("d:\\my_work\\teste2.txt")); pw.println(2.31); pw.println(false); pw.print("x"); pw.flush(); pw.close(); catch (IOException e){ System.out.println(e.getMessage()); 4 - Crie uma classe que leia o ficheiro teste2.txt. Streams de bytes As subclasses de OutputStream e InputStream implementam Streams de bytes. Os métodos abstractos definidos na classe OutputStream são idênticos aos de Writer com a diferença de que em vez de caracteres aceitam bytes. As classes ObjectInputStream e ObjectOutputStream Construtores: ObjectInputStream(InputStream in) ObjectOutputStream(OutputStream out) Uma ObjectOutputStream permite armazenar objectos através do método writeobject() que implementa um algoritmo de serialização que garante que todas as referências cruzadas existentes entre instâncias de diferentes classes serão repostas aquando do processo de leitura dessas mesmas instâncias. Para que se possam gravar instâncias de uma determinada classe numa ObjectOutputStream é necessário que a classe implemente a interface Serializable. Além disso, todas as variáveis dessa classe terão que ser também serializáveis. Isto significa que todas as variáveis de instância da classe devem por sua vez pertencer a classes serializáveis.
4 Folha 1-4 Os tipos simples são por definição serializáveis, assim como o são os arrays e as instâncias das classes String, Vector ou ArrayList. 5 Construa uma classe à sua escolha definindo os atributos e construindo os getters e setters de forma automática no netbeans ou procure no seu trabalho de outras disciplinas uma classe já feita a) - Construa um programa de teste que instancie 3 objetos da classe anterior e escreva esses objetos num ficheiro. Use ObjecStreams. b) Construa um programa para ler o ficheiro criado no exercício anterior supondo que não sabe quantos objectos estão no ficheiro. 6 Construa um programa que escreva para um ficheiro uma sequência de linha de texto, introduzidas pelo utilizador. 7 Construa um programa que leia o ficheiro do exercício 6. 8 Construa um programa que construa um array de valores aleatórios do tipo int e os escreva num ficheiro. 9 - Construa um programa que leia o ficheiro do exercício 8. A classe InetAddress 10 O programa abaixo permite-lhe obter o nome da máquina onde está a trabalhar. Implemente-o e explore a classe InetAddress. public class GetName { public static void main (String args[]) throws Exception{ InetAddress host = null; host = InetAddress.getLocalHost(); System.out.println(host.getHostName());
5 Folha O programa abaixo permite-lhe obter o endereço IP da máquina onde está a trabalhar. Implemente-o e estude o seu comportamento. public class GetIP { public static void main (String args[]) throws Exception{ InetAddress host = null; host = InetAddress.getLocalHost(); byte ip [] = host.getaddress(); for ( int i= 0 ; i < ip.length; i++){ if (i>0) System.out.print("."); System.out.print(ip[i] & 0xff); System.out.println(); 12 Pretende-se que o programa abaixo, dado um determinado IP, nos diga qual o nome da máquina correspondente. Complete-o. import java.io.*; public class IPtoName { public static void main (String args[] ) throws IOException{ String s=" "; char c; System.out.print("IP address? "); while ( (c=(char)system.in.read())!= 10) s+=c; s=s.trim(); InetAddress address =null; < exercício > catch (UnknownHostException e){ System.out.println("IP malformed "); 13 Construa um programa que dado o nome de uma máquina, nos diga qual o IP correspondente.
Reader e Writer para streams de caracteres (texto).
Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo
Como pôde verificar, a criação de um objecto do tipo File não cria o ficheiro em disco.
Folha 1-1 I/O em java (pakage java.io) A classe File A classe File (subclasse de Object) permite manipular os ficheiros e as directorias de um sistema de ficheiros. 1 - Substituindo o texto d:\\my_work\\
InputStream e OutputStream para ler/ escrever bytes e das classes abstractas Reader e Writer para ler /escrever caracteres (texto).
Input e Output 8 Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo físico
Entrada e Saída Exercício. Linguagem Java. Adenilso da Silva Simão 01/09/05
01/09/05 Onde conseguir informações sobre os pacotes: http://java.sun.com/j2se/1.5.0/docs/api/ Tutorial http://java.sun.com/docs/books/tutorial/essential/ io/overview.html (II) Tanto a entrada quanto a
Streams e Ficheiros I/O
Streams e Ficheiros I/O Capítulo 9 Objectivos Familiarizar com o conceito I/O stream Entender a diferença entre ficheiros binários e de texto. Saber armazenar dados em ficheiros de texto. Saber ler dados
Notas de POO: interfaces, excepções e input/output
Notas de POO: interfaces, excepções e input/output 2006/07 Conteúdo 1 Considerações gerais 1 2 Interfaces 1 2.1 Hierarquia das Interfaces........................... 2 2.2 Interfaces e Classes Abstractas........................
Motivação. Java First-Tier: Aplicações. Entrada & Saída. Stream de Entrada. Stream de Saída. Pacote java.io. Leitura e Escrita de Streams
Java First-Tier: Aplicações Entrada & Saída Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Motivação Uma aplicação normalmente precisa obter e/ou enviar informações a fontes/destinos
Array de objectos Array de objectos Criação Exemplo:
Array de objectos Nos exemplos anteriores array armazenava dados de tipos primitivos. Array de objectos é um array cujos elementos são objectos ou, mais correctamente, referências para objectos. Característica
10 Arquivos e fluxos. Desenvolvimento OO com Java. Vítor E. Silva Souza
Desenvolvimento OO com Java 10 Arquivos e fluxos Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Programação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar [email protected]. MRSC, Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar [email protected] 1 Java Networking java.net.* 141 Package java.net Java dispõe de diversas classes para manipular e processar informação
Manipulação de Arquivos
Manipulação de Arquivos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC)
Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
AULA TEÓRICA 4. Tema 5. Ficheiros. Ficheiro do tipo texto. Ficheiros de Objectos. Ø Classe File Ø Criação. Manipulação. Ø Classe StringTokenizer
Tema 5. Ficheiros AULA TEÓRICA 4 Ficheiro do tipo texto Ø Classe File Ø Criação. Manipulação. Ø Classe StringTokenizer Ficheiros de Objectos Ø Criação. Manipulação 1 Ficheiros A entrada de dados (leitura)
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
21/05/2013. Informações Complexas. Arquivos de Texto e Arquivos Binários. Hierarquia de Dados. Armazena Informação. Classificação de Arquivos
DCC / ICEx / UFMG Informações Complexas e Arquivos são usados para gravar informações complexas Eduardo Figueiredo Arquivo é um grupo de registros relacionados http://www.dcc.ufmg.br/~figueiredo Armazena
Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: Cliente Web browser HTTP porto 80 Servidor web JDBC RMI XML... Base de Dados Aplicação em Java...
Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204
Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Exercício 1: Descreva algumas diferenças básicas entre programação estruturada e programação orientada a objetos. Exercício 2: Para que
Tratamento de Exceções
Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que
RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Paradigmas de Programação. Genéricos
Genéricos Extensão à linguagem Java apresentada pelo JDK1.5 Permite reutilização de software com tipo seguro Permite abstrair do tipo de dados Exemplo: Desenvolver código para uma classe (por ex, uma pilha)
Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file:
Input e Output 1 A classe File Input / Output na linguagem java Antes de podermos ler/escrever de/para um ficheiro temos que criar um objecto do tipo File e associar esse objecto ao ficheiro a que queremos
Programação em FORTRAN V. João Manuel R. S. Tavares
Programação em FORTRAN V João Manuel R. S. Tavares Output no écran Exemplo de escrita em formato livre (*): radius = 7.2345121 PRINT *,'Radius = ',radius,' cm' Resultado: Radius = 7.2345121 cm @2001 -
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Projeto V (U900005) Ciências da Computação Projeto II (U900003) Engenharia da Computação Prof. Valdir Gil Pillat
2. Strings Projeto V (U900005) Ciências da Computação Veja alguns métodos utilizados na classe String retorno = x.equals(y); // Compara strings, retorna (True/False) retorno = x.equalsignorecase(y); //
Aula 11 POO 1 Coleções e Arquivos. Profa. Elaine Faria UFU
Aula 11 POO 1 Coleções e Arquivos Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem
LINGUAGEM JAVA - RESUMO
LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados
Linguagem de programação Java
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar
Programação Orientada a Objeto Java
Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada
BC-0505 Processamento da Informação
BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet
Programação Na Web Servlets: Ciclo de Vida 1 António Gonçalves Agenda Visão geral sobre ciclo de vida Nascimento de uma Servlet Execução de uma Servlet Destruição de uma Servlet 2 Servlet Life Cycle 1
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
ção a Objetos em Java
Uso de Orientaçã ção a Objetos em Java Objetos e Mensagens Objetos em Java Principais classes Containers Um pouco de história... Variáveis como elementos isolados int dia, mes, ano; Fácil compreensão,
Capítulo II Modelos de Programação Distribuída
Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent
Simulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Strings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira [email protected] Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Isto não é exequível!... B[8][6] A[10] Slides_Java_4
A[10] B[8][6] Slides_Java_4 Sistemas Informáticos I 2005-2006 Imaginemos que é necessário escrever um programa que: leia uma lista de 50 alunos e as respectivas notas. calcule a nota média. escreva a diferença
4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Só podem ser executados por uma Thread que detenha o lock do objecto
Transferência de controle entre Threads Os métodos wait(), notify() notifyall(), da classe Object, Permitem a transferência de controlo de uma Thread para outra. Só podem ser executados por uma Thread
INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS
INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:
Interfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
Programação Orientada aos Objectos I
Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,
Tipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Tipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Programação Orientada a Objetos
Programação Orientada a Objetos Implementação do analisador de logs do Servidor Web com base nos requisitos da unidade curricular de Estatística, de acordo com o roteiro abaixo: Recuperar o conteúdo do
Streams. Profa. Patrícia A. Jaques Unisinos
Streams Profa. Patrícia A. Jaques [email protected] Unisinos Lendo do Console com a classe Scanner import java.util.scanner; public class TestaScanner { public static void main(string args[]) { Scanner
Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO
REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração
Utilização das classes Java para comunicação TCP/IP e UDP/IP
Utilização das classes Java para comunicação TCP/IP e UDP/IP Programação com Objetos Distribuídos (C. Geyer) Java Sockets 1 Autor Autores Local Cláudio Geyer Maurício Lima Pilla Instituto de Informática
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do
No final deste curso, saberás criar programas através da linguagem de programação Java.
Programação em Java Programação Formato: Mentored - Online Preço: 415 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 24h/24h Duração: ~45h
Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Linguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Conceitos básicos de programação
Tipos de dados estruturados Tipos estruturados vectores matrizes Estruturas (registos) Vectores e matrizes são estruturas homogéneas. Uma estrutura homogénea é uma sequência linear de elementos de mesmo
Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS
Exercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
