SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Universidade Federal da Paraíba
                        Centro de Ciências Aplicadas e Educação
                        Curso: Sistemas de Informação
                        Prof: Raoni Kulezka
                        Disciplina: Linguagem de Programação
                        Aluna: Kievnny Mendonça
                        Marcia Evangelista Leite


              Java: Funções com String e Manipulação de Arquivos

1- Funções com String

        O livro Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações nos
orienta e apresenta a capacidade na criação de aplicativos da linguagem que surgiu para ser
independente de plataforma e mais segura. Analisando as suas funções com strings, vimos que
strings (um tipo de texto que corresponde a união de vários caracteres) são instâncias da classe
String, sendo assim, geram objetos que possuem propriedades e métodos, podendo ser manipulados
de várias formas, acrescentando, retirando ou modificando caracteres.
        Para existência dessa manipulação, existem diversos métodos que devem ser acompanhados
pela sintaxe: < Nome da string> <nome- do- método> (<argumentos>).
        O método length retorna o tamanho de uma string, sendo sempre um valor inteiro e muito
utilizado quando a necessidade de se percorrer uma variável String do começo ao fim. Sintaxe:
<string>.length ().
        O método charAT retorna um caractere de determinada string de acordo com o índice
informando entre os (). É útil quando necessário verificar a existência de um caractere na string.
Sintaxe: <string>.charAT(<índice>).
        Já o método toUpperCase e toLowerCase são utilizados para transformar todas as letras de
uma determinada string em maiúsculas. Sintaxe: <string>. toUpperCase ou toLowerCase ().
        O método substring retorna a cópia de caracteres de uma string a partir de dois índices
inteiros especificados, sendo o inicio da copia indicado pelo primeiro índice e o segundo índice, que
indica o final da copia deve ser informado um índice a mais do ultimo caractere.
        O método trim remove todos os espaços em branco que aparecerem no inicio e no final de
uma determinada string, não os espaços entre as palavras. Sintaxe: <string>.trim().
        Método replace é utilizado para a substituição de caracteres ou grupos, de uma determinada
string. Para isso, devem ser informados os caracteres que deseja substituir e por quais eles serão
substituídos, caso não haja nenhum dos caracteres informados a string original é retornada.
        Sintaxe:<string>>. replace (caractere a ser substituído)<substituição>.
        Já o método valueOF converter diversos tipos de dados em string. Aceita vários tipos de
argumentos e transforma em string. Sintaxe: String. valueOF( <nome da variável a ser convertida>).
        O método indexOf é utilizado para localizar caracteres ou substring em uma String, ele
busca a palavra e retorna a posição onde ela se encontra. Caso haja sucesso na busca é retornada a
posição referente, caso não é retornado um valor -1, seu retorno sempre é um número inteiro.
Sintaxe: String. indexOF (<caractere ou substring a ser localizada [posição inicial]>).

2- Manipulação de arquivos

       Dados manipulados precisam ser recuperados a qualquer momento. Por este motivo devem
ser usados arquivos de dados, ou seja conjunto de dados armazenado em uma memória não volátil,
que pode ser recuperada pelo programa a qualquer instante.
       Manipulação de arquivos em Java, é utilizada classes e instâncias delas (objetos) para lidar
com a saída e entrada de dados(input/output = io). A entrada e saída é tratada como fluxo de dados
os Stream, tendo assim um controle de fluxo. Isso tudo está no pacote java.io, que utilizamos para
manipular os arquivos de dados como: txt, dat, gif entre outros.

->Leitura e gravação de um arquivo texto:

        Existem diversas maneiras de realizar a manipulação de arquivos texto. A classe
BufferedReader para a leitura do arquivo e a classe PrintWriter para gravação.
O nome do arquivo é “código da pessoa” + .”txt” e armazenado na mesma pasta em que a classe
estiver localizada.

Exemplo:

import java.io.*;
//importa o pacote

       if (tfCodigo.getText().equals(""))
       {
       JOptionPane.showMessageDialog(null, "O código não pode estar vazio!");
       tfCodigo.requestFocus();
       }
       else if (tfNome.getText().equals(""))
       {
       JOptionPane.showMessageDialog(null, "O nome não pode estar vazio!");
       tfNome.requestFocus();
       }
                else if (tfEmail.getText().equals(""))
       {
       JOptionPane.showMessageDialog(null, "O email não pode estar vazio!");
       tfEmail.requestFocus();
       }

//Faz a gravação do conteúdo, sendo obrigatório o preenchimento, se não o usuário receberá uma
mensagem de erro. O método requestFocus() é responsável de fornecer o local do curso.

       try
       {
       PrintWriter out = new PrintWriter(tfCodigo.getText()+".txt);

//Cria o arquivo

       out.println(tfCodigo.getText());
       out.println(tfNome.getText());
       out.println(tfEmail.getText());
       out.close();
       JOptionPane.showMessageDialog(null, "Arquivo gravado com sucesso!");
       }
       catch(IOException erro)
       {
       JOptionPane.showMessageDialog(null, "Erro ao gravar no arquivo");
       }
//Cria o arquivo de fluxo de saída pela classe PrintWriter, grava o arquivo pelo método println() e
fecha o arquivo pelo método close().

       try
       {
       String arq = JOptionPane.showInputDialog(null, "Forneça o código a abrir:");
       BufferedReader br = new BufferedReader(new FileReader(arq+".txt"));
       tfCodigo.setText(br.readLine());
       tfNome.setText(br.readLine());
       tfEmail.setText(br.readLine());
       br.close();
       }
       cath(IOException erro)
       {
               JOptionPane.showMessageDialog(null, "Erro ao abrir o arquivo");
       }

//Ler o conteúdo pelo método readLine()

       O exemplo possui três botões: um botão para Abrir o arquivo texto, outro para Gravar o
arquivo texto e outro para Limpar o conteúdo das caixas de texto. O botão Gravar é armazenado
num arquivo texto cujo nome é igual o código da pessoa com a extensão .txt. A pessoa de código
“10” é armazenada no arquivo “10.txt” e assim por diante. O botão Abrir faz o processo inverso, o
conteúdo armazenado no arquivo, cujo nome deve ser fornecido pelo usuário, é copiado para as
caixas de texto. O botão Limpar, o texto tfCodigo, tfNome e tfEmail é apagado.

       Uma aplicação com funcionalidade de um editor de textos básico, onde realiza a leitura ou a
gravação de um arquivo texto o usuário pode utilizar a classe FileDialog. E ao clicar em Gravar ou
Abrir irá aparecer uma janela como a do windows, tornando possível escolher entre ser lido ou
gravado. Outras duas classes que podem ser utilizadas também são FiliWriter e FileReader que
serve para manipular um arquivo de texto.

->Leitura e Gravação de outros formatos de arquivo.

       Existem outros métodos que podem ser usados para manipular tipos primitivos de dados,
tanto na leitura como na gravação de dados de um arquivo de fluxo.

Métodos para a leitura de tipos primitivos | métodos para a gravação de tipos primitivos
readBoolean()                              | writeBooleam()
readDouble()                               | writeDouble()
readFloat()                                | writeFloat()
readInt()                                  | writeInt()
readLong()                                 | writeLong()
readShort()                                | writeShort()

       Para se utilizar esse métodos é necessário utilizar as classes DataInputStream para leitura
de dados e DataOutputStream para gravação de dados.
Bibliografia:

      FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando
Aplicações. São Paulo: Érica: 2008
FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações. São
Paulo: Érica: 2008

Más contenido relacionado

La actualidad más candente

Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Poo1   aula 4 - tipos de dados variáveis-constantes - copiaPoo1   aula 4 - tipos de dados variáveis-constantes - copia
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Denis Sobrenome
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
Denis Sobrenome
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
Denis Sobrenome
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
Maurício Linhares
 

La actualidad más candente (17)

Poo1 aula 4 - tipos de dados variáveis-constantes - copia
Poo1   aula 4 - tipos de dados variáveis-constantes - copiaPoo1   aula 4 - tipos de dados variáveis-constantes - copia
Poo1 aula 4 - tipos de dados variáveis-constantes - copia
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
ptt
pttptt
ptt
 
Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de Arquivos
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Python e seus desafios
Python e seus desafiosPython e seus desafios
Python e seus desafios
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
POO -  Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)POO -  Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 

Destacado (6)

Programacao basica em java homepage
Programacao basica em java homepageProgramacao basica em java homepage
Programacao basica em java homepage
 
Moçambique francisco
Moçambique franciscoMoçambique francisco
Moçambique francisco
 
Trabalho de Geografia sobre Moçambique
Trabalho de Geografia sobre MoçambiqueTrabalho de Geografia sobre Moçambique
Trabalho de Geografia sobre Moçambique
 
História e Geografia de Moçambique
História e Geografia de MoçambiqueHistória e Geografia de Moçambique
História e Geografia de Moçambique
 
Moçambique
MoçambiqueMoçambique
Moçambique
 
Moçambique
MoçambiqueMoçambique
Moçambique
 

Similar a 1 exercicio funcoes com string e manipulacao com arquivo

Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
Erisvaldo Junior
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
Stephen Chin
 
Curso completo php
Curso completo phpCurso completo php
Curso completo php
breninho94
 

Similar a 1 exercicio funcoes com string e manipulacao com arquivo (20)

http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Ativ complementar etapa 02
Ativ complementar etapa 02Ativ complementar etapa 02
Ativ complementar etapa 02
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Aula4
Aula4Aula4
Aula4
 
Files e File System PHP (Português)
Files e File System PHP (Português)Files e File System PHP (Português)
Files e File System PHP (Português)
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Curso completo php
Curso completo phpCurso completo php
Curso completo php
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Slides do cuso_php
Slides do cuso_phpSlides do cuso_php
Slides do cuso_php
 

Último

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
azulassessoria9
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
edelon1
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
azulassessoria9
 

Último (20)

PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 

1 exercicio funcoes com string e manipulacao com arquivo

  • 1. Universidade Federal da Paraíba Centro de Ciências Aplicadas e Educação Curso: Sistemas de Informação Prof: Raoni Kulezka Disciplina: Linguagem de Programação Aluna: Kievnny Mendonça Marcia Evangelista Leite Java: Funções com String e Manipulação de Arquivos 1- Funções com String O livro Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações nos orienta e apresenta a capacidade na criação de aplicativos da linguagem que surgiu para ser independente de plataforma e mais segura. Analisando as suas funções com strings, vimos que strings (um tipo de texto que corresponde a união de vários caracteres) são instâncias da classe String, sendo assim, geram objetos que possuem propriedades e métodos, podendo ser manipulados de várias formas, acrescentando, retirando ou modificando caracteres. Para existência dessa manipulação, existem diversos métodos que devem ser acompanhados pela sintaxe: < Nome da string> <nome- do- método> (<argumentos>). O método length retorna o tamanho de uma string, sendo sempre um valor inteiro e muito utilizado quando a necessidade de se percorrer uma variável String do começo ao fim. Sintaxe: <string>.length (). O método charAT retorna um caractere de determinada string de acordo com o índice informando entre os (). É útil quando necessário verificar a existência de um caractere na string. Sintaxe: <string>.charAT(<índice>). Já o método toUpperCase e toLowerCase são utilizados para transformar todas as letras de uma determinada string em maiúsculas. Sintaxe: <string>. toUpperCase ou toLowerCase (). O método substring retorna a cópia de caracteres de uma string a partir de dois índices inteiros especificados, sendo o inicio da copia indicado pelo primeiro índice e o segundo índice, que indica o final da copia deve ser informado um índice a mais do ultimo caractere. O método trim remove todos os espaços em branco que aparecerem no inicio e no final de uma determinada string, não os espaços entre as palavras. Sintaxe: <string>.trim(). Método replace é utilizado para a substituição de caracteres ou grupos, de uma determinada string. Para isso, devem ser informados os caracteres que deseja substituir e por quais eles serão substituídos, caso não haja nenhum dos caracteres informados a string original é retornada. Sintaxe:<string>>. replace (caractere a ser substituído)<substituição>. Já o método valueOF converter diversos tipos de dados em string. Aceita vários tipos de argumentos e transforma em string. Sintaxe: String. valueOF( <nome da variável a ser convertida>). O método indexOf é utilizado para localizar caracteres ou substring em uma String, ele busca a palavra e retorna a posição onde ela se encontra. Caso haja sucesso na busca é retornada a posição referente, caso não é retornado um valor -1, seu retorno sempre é um número inteiro. Sintaxe: String. indexOF (<caractere ou substring a ser localizada [posição inicial]>). 2- Manipulação de arquivos Dados manipulados precisam ser recuperados a qualquer momento. Por este motivo devem ser usados arquivos de dados, ou seja conjunto de dados armazenado em uma memória não volátil, que pode ser recuperada pelo programa a qualquer instante. Manipulação de arquivos em Java, é utilizada classes e instâncias delas (objetos) para lidar
  • 2. com a saída e entrada de dados(input/output = io). A entrada e saída é tratada como fluxo de dados os Stream, tendo assim um controle de fluxo. Isso tudo está no pacote java.io, que utilizamos para manipular os arquivos de dados como: txt, dat, gif entre outros. ->Leitura e gravação de um arquivo texto: Existem diversas maneiras de realizar a manipulação de arquivos texto. A classe BufferedReader para a leitura do arquivo e a classe PrintWriter para gravação. O nome do arquivo é “código da pessoa” + .”txt” e armazenado na mesma pasta em que a classe estiver localizada. Exemplo: import java.io.*; //importa o pacote if (tfCodigo.getText().equals("")) { JOptionPane.showMessageDialog(null, "O código não pode estar vazio!"); tfCodigo.requestFocus(); } else if (tfNome.getText().equals("")) { JOptionPane.showMessageDialog(null, "O nome não pode estar vazio!"); tfNome.requestFocus(); } else if (tfEmail.getText().equals("")) { JOptionPane.showMessageDialog(null, "O email não pode estar vazio!"); tfEmail.requestFocus(); } //Faz a gravação do conteúdo, sendo obrigatório o preenchimento, se não o usuário receberá uma mensagem de erro. O método requestFocus() é responsável de fornecer o local do curso. try { PrintWriter out = new PrintWriter(tfCodigo.getText()+".txt); //Cria o arquivo out.println(tfCodigo.getText()); out.println(tfNome.getText()); out.println(tfEmail.getText()); out.close(); JOptionPane.showMessageDialog(null, "Arquivo gravado com sucesso!"); } catch(IOException erro) { JOptionPane.showMessageDialog(null, "Erro ao gravar no arquivo"); }
  • 3. //Cria o arquivo de fluxo de saída pela classe PrintWriter, grava o arquivo pelo método println() e fecha o arquivo pelo método close(). try { String arq = JOptionPane.showInputDialog(null, "Forneça o código a abrir:"); BufferedReader br = new BufferedReader(new FileReader(arq+".txt")); tfCodigo.setText(br.readLine()); tfNome.setText(br.readLine()); tfEmail.setText(br.readLine()); br.close(); } cath(IOException erro) { JOptionPane.showMessageDialog(null, "Erro ao abrir o arquivo"); } //Ler o conteúdo pelo método readLine() O exemplo possui três botões: um botão para Abrir o arquivo texto, outro para Gravar o arquivo texto e outro para Limpar o conteúdo das caixas de texto. O botão Gravar é armazenado num arquivo texto cujo nome é igual o código da pessoa com a extensão .txt. A pessoa de código “10” é armazenada no arquivo “10.txt” e assim por diante. O botão Abrir faz o processo inverso, o conteúdo armazenado no arquivo, cujo nome deve ser fornecido pelo usuário, é copiado para as caixas de texto. O botão Limpar, o texto tfCodigo, tfNome e tfEmail é apagado. Uma aplicação com funcionalidade de um editor de textos básico, onde realiza a leitura ou a gravação de um arquivo texto o usuário pode utilizar a classe FileDialog. E ao clicar em Gravar ou Abrir irá aparecer uma janela como a do windows, tornando possível escolher entre ser lido ou gravado. Outras duas classes que podem ser utilizadas também são FiliWriter e FileReader que serve para manipular um arquivo de texto. ->Leitura e Gravação de outros formatos de arquivo. Existem outros métodos que podem ser usados para manipular tipos primitivos de dados, tanto na leitura como na gravação de dados de um arquivo de fluxo. Métodos para a leitura de tipos primitivos | métodos para a gravação de tipos primitivos readBoolean() | writeBooleam() readDouble() | writeDouble() readFloat() | writeFloat() readInt() | writeInt() readLong() | writeLong() readShort() | writeShort() Para se utilizar esse métodos é necessário utilizar as classes DataInputStream para leitura de dados e DataOutputStream para gravação de dados.
  • 4. Bibliografia: FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações. São Paulo: Érica: 2008
  • 5. FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações. São Paulo: Érica: 2008