Ler arquivo e remover Strings duplicadas
Publicado por Mayron Cachina 24/09/2007
[ Hits: 13.359 ]
Homepage: http://mayroncachina.net
Pessoal, uma pequena aplicação para exercitar a escrita de arquivos...
Tive algumas dúvidas no começo de como ler todo o vetor e retirar as strings com duplicidade...
O código está todo comentado para melhor compreenção.
Mas ai está de um modo simples, fácil e descomplicado...
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..."); } }
Classe java para converter jTableModel em HTML / Open Office/Libre Office/Excel (todos)
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
WACOM Intuos no Ubuntu - dificuldades para um kra***** (0)
Instalação do Programa Imposto de Renda Pessoa Física 2023 [RESOLVIDO]... (6)
Instalando e compilando o GCC/G++ erro (4)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter