Bom dia.
Estou lendo um arquivo texto e recuperando o codigo de cada usuario no arquivo e executando uma açao. O problema esta em que o usuario pode se repetir no arquivo txt fazendo com que a ação acorra mais vezes sem necessidade.
Não estou conseguindo achar uma solução para isso, já que estou lendo um arquivo txt. Eu teria que comparar com o que já foi lido?? mas o que já foi lido eu não tenho guardado!!
Porque vc nao cria um Hashtable e quando vc estiver lendo o arquivo texto de usuarios vc verifica se existe o codigo no Hashtable, se nao existir vc adiciona e executa essa acao.
O Hashtable tem um metodo que eh facinho de testar isso, Hashtable.contains(Object value);
rockstorm
ok. mas como eu faria a leitura deste Hash já que não sei o seu tamanho??
Em um for ou While?? vc poderia me dar um exemplo de leitura??
grato
rockstorm
consegui resolver amigo, muito obrigado a dica!!
W
windsofhell
importjava.io.*;importjava.util.*;publicclassReadFile{publicstaticvoidmain(String[]args){Hashtable<String,String>users=newHashtable<String,String>();try{BufferedReaderbr=newBufferedReader(newFileReader("users.txt"));Stringline=null;while((line=br.readLine())!=null){String[]_temp=line.split("\s+");if(!users.contains(_temp[0])){users.put(_temp[0],_temp[1]);// aqui executa a acao.}}// imprime so os usuarios que foram adicionadosfor(Enumeratione=users.keys();e.hasMoreElements();){Stringkey=(String)e.nextElement();System.out.println("Codigo : "+key+" / "+users.get(key));}}catch(IOExceptione){e.printStackTrace();}}}