Arquivo - pegar objeto pelo atributo

6 respostas
F

Opa!

Estou com uma dúvida: como eu faço pra pesquisar pelo atributo nome do objeto Funcionario num arquivo com vários objetos deste tipo (serializáveis) instanciados? Preciso perguntar pro usuário qual o nome do funcionário deseja procurar, ler do console e, se achar, devolve o objeto com o atributo nome + os outros dois atributos: cargo e telefone.

Já bati cabeça tentando pensar numa forma e pesquisei mas naaada! :shock:

(Até tenho um método de pesquisa já feito, mas não serve pra arquivos… em todo caso segue o código abaixo [se alguém é galo pra modificá-lo… eu não sou :oops:])

public static boolean pesquisa(){
        boolean found = false;
        String path = JOptionPane.showInputDialog("Inforne o caminho onde se encontra o arquivo.");
        String word = JOptionPane.showInputDialog("Que palavra deseja procurar?");
        String line = "";
        try{
            BufferedReader in = new BufferedReader(new FileReader(path));
            while((line = in.readLine()) != null){
                if(line.contains(word)){
                    JOptionPane.showMessageDialog(null, line);
                    found = true;
                }
            }
        }catch (Exception e){
            System.err.println("Erro na abertura do arquivo " + path);
            return found;
        }
        return found;
}

Desde já agradeço a atenção e aguardo respostas…

Forte abraço!

6 Respostas

G

Bom dia, uma dúvida, vc está lendo um arquivo e preenchedo uma Lista? Tipo, vc pega os dados de um arquivo qlq e cria vários obejtos do tipo Funcionário em uma lista? Como vc está fazendo?

flw.

F

Não…
Tô instanciando 10 objetos Funcionário (classe Serializável) no arquivo.
Sem lista nenhuma…

:roll:

G

Hum… entendi…
Bom, não sei como fazer a busca no arquivo.
Mas, será que se vc criar um lista com os objetos e depois só buscar na lista não funciona?
(eu não faço idéia se funciona ou não) =/

flw.

F

Valeu, tentando tentando tentando, meio que consegui na gambi mesmo…
Ainda tô testando, depois posto aqui!

:smiley:

G

Só pra saber, o problema era com o ResultSet???

flw.

P

talvez vc possa serializar uma hash indexada pelo nome.

Criado 29 de março de 2009
Ultima resposta 30 de mar. de 2009
Respostas 6
Participantes 3