Escrevendo em arquivo texto

Autor: Mayron Cachina – estudante do curso de Sistemas de Informação na Universidade Potiguar – UnP, atuando no desenvolvimento de sistemas em JAVA, Delphi e PHP.

Pessoal uma pequena aplicação para exercitar a escrita de arquivos…
Tive algumas duvidas no começo de como ler todo o vetor e retirar as strings com duplicidade…
mais ai está de um modo simples, fácil e descomplicado…
Estou disponibilizando os fontes (no Netbeans) para download.


package br.com.dragon.utils.lerArquivo.exec;

import java.io.*;
import java.util.*;

public class Main {
public String file;
public static String origem;
public static String destino;

public Main(String file){
this.file = file;
}

public void lerTexto() throws IOException{
// VARIÁVEL ONDE SERÁ GUARDADA A LINHA PERCORRIDA
String line = “”;
// Usamos os BufferedReader para abrir o arquivo.
BufferedReader  bf = new BufferedReader(new FileReader(this.file));
// Instanciamos uma collection para guardar o nosso conteúdo
Collection lista = new ArrayList();
// variáveis para contagem de linhas (só pra ficar mais bonitinho, hehehe)
int linhaT = 0;
int linhaF = 0;

/* AQUI SERÁ ONDE VAMOS PREENCHER NOSSA LISTA */
while ((line = bf.readLine()) != null)  {
System.out.println(“PERCORRENDO LINHA: ” + linhaT++);
// COMANDO PRA PREENCHER A LISTA “line”
lista.add(line);
}

/* AQUI SERÁ O TRATAMENTO
* DA LISTA A SER SALVA
* SEM REPETIÇÕES….
*/
// O MÉTODO “LinkedHashSet” SERVE PARA NÃO EMBARALHAR A LISTA
// QUE NO CASO O COMANDO “HashSet” faz…
Collection lista2 = new LinkedHashSet(lista);
// CRIA O NOVO ARQUIVO ONDE SERÁ ARMAZENADA A LISTA
File arquivo = new File(destino);

// ABRE O ARQUIVO DE DESTINO PARA A GRAVAÇÃO
BufferedWriter bw = new BufferedWriter(new FileWriter(arquivo));
// PERCORRE TODA A NOVA LISTA
for (Object item : lista2){
linhaF++;
/* ESCREVE A LISTA NO ARQUIVO…
* OBSERVE O TYPECAST FEITO POIS O
* FOR ESTÁ PASSANDO UM “Object”
*/
bw.write((String) item);
bw.newLine();
}

bw.flush();
bw.close();

System.out.println(“VARREDURA COMPLETA…”);
System.out.println(“TOTAL DE LINHAS NOVO ARQUIVO: ” + linhaF);
}

public static void main(String[] args) {
origem  = args[0];
destino = args[1];

Main l = new Main(origem);

try{
l.lerTexto();
}catch (IOException ioe) {
ioe.printStackTrace();
}
System.out.println(“CONCLUIDO…”);
}
}

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s