SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Programação Estruturada – Marcelo Siedler Arquivos Após a conclusão de todos os programas desenvolvidos até agora os dados nele digitados eram perdidos, não podendo ser recuperados para uma nova operação. A programação em arquivos de dados é uma habilidade essencial no desenvolvimento bem-sucedido de aplicativos. As ferramentas para a organização, gravação e recuperação de dados armazenados em arquivos estão entre as características mais importantes de qualquer linguagem de programação. O termo arquivo se refere a um conjunto de dados armazenados no disco, com um determinado nome. A plataforma Java oferece classes para o desenvolvimento de programas que manipulam arquivos textos. Nestes arquivos podemos guardar qualquer tipo de informação (String, int ou float) e a sua leitura ocorrerá sempre de forma seqüencial, ou seja, do início até o final do arquivo. Uma utilização bastante frequente para os arquivos é a troca de informações entre aplicativos. Diversos sistemas bancários ou governamentais, por exemplo, importam dados a partir de arquivos de texto. Arquivos de Texto Os arquivos texto são armazenados no disco como linhas de caracteres ASCII e podem ser lidos ou alterados por qualquer editor de texto ASCII puro, como o Edit do DOS ou o Bloco de Notas do Windows (o Word abre este tipo de arquivo, mas não os salva como ASCII puro). Um arquivo texto está projetado para ser lido do início até o fim toda a vez que for aberto. Em outras palavras, não existe um modo de pular diretamente para uma determinada linha no meio do arquivo. Basicamente, para trabalharmos com arquivos devemos realizar sua abertura ou criação e em seguida a transferência dos dados, e finalmente, fechar o arquivo. Há várias formas de trabalhar com arquivos em Java. Iremos utilizar as classes FileWriter para gravar dados no arquivo e FileReader e BufferedReader para ler os dados do arquivo texto. Eles necessitam do comando import java.io.* e devem estar protegidos por um bloco try {} catch (). Gravação de Dados em Arquivo Texto // Declare uma variável da classe FileWriter FileWriter arq; try { arq = new FileWriter("c:\\temp\\alunos.txt", true); arq.write(nome + ";" + idade + "\n"); arq.close(); System.out.println("Ok! Aluno corretamente cadastrado"); } catch (IOException e) { System.out.println("Erro na gravação do arquivo"); } Leitura de Dados de Arquivo Texto // Declare variáveis das classes FileReader e BufferedReader FileReader arq; BufferedReader leitor; String linha; try { arq = new FileReader("c:\\temp\\alunos.txt"); leitor = new BufferedReader(arq); while ( (linha = leitor.readLine()) != null) { System.out.println(linha); } arq.close(); } catch (IOException e) { System.out.println("Erro de Leitura do Arquivo"); }