Filtrando arquivos de texto - JFileChooser

Olá, este é meu primeiro tópico neste forum!

Estamos aprendendo a filtrar arquivos de texto, tipo, abrindo o arquivo, selecionando linhas e/ou colunas desejadas e salvando as linhas/colunas desejadas em um novo arquivo de texto. O código é esse, para filtrar apenas uma coluna desejada:

[code]public static void main(String[] args) throws IOException {
JFileChooser fc = new JFileChooser();
fc.setDialogTitle(“Escolha um arquivo para copiar”);
JFileChooser fcSave = new JFileChooser();
fcSave.setDialogTitle(“Escolha um arquivo para salvar”);
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION
&& fcSave.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
String line;
BufferedReader br = null;
br = new BufferedReader(new FileReader(fc.getSelectedFile()));
BufferedWriter bw;
bw = new BufferedWriter(new FileWriter(fcSave.getSelectedFile()));
line = br.readLine();
while (line != null) {
if (!line.startsWith("!")) {
String[] colunas = line.split("\t");
String id = colunas[1].substring(4);
bw.write(id);
bw.newLine();
}
line = br.readLine();
}
bw.flush();
}
}

}
[/code]

O dito arquivo é esse aqui: ftp://ftp.flybase.net/releases/FB2011_05/precomputed_files/go/gene_association.fb.gz . Neste arquivo tem uma ontologia de genes. Aplicando o código acima, ele seleciona uma coluna, corta os 4 primeiras letras (substring(4)), e manda pro arquivo novo apenas essa coluna sem os 4 primeiras letras.

Agora, temos que selecionar o evidence code xxx (equivalente a coluna nº 6, se contado a primeira como 0, acho que o java faz isso), digitando o evidence code xxx (são três letras), dai ele vai pegar as linhas inteiras com o xxx que o usuário digitou (no código que eu postei, ele vai pegar só aquela coluna e por no arquivo novo).

O máximo que eu consegui foi fazer ele filtrar a coluna desejada, rsrs… Não tenho ideia de onde colocar o JOptionPane.showInputDialog pra digitar o código (sei que deve ser depois do while (line != null), é a partir dai que o bicho pega) … Se alguem puder dar uma luz, será bem vinda.

E outra coisa, já de antemão se houver extrema burrice minha: nós estudamos biologia, e tivemos essa matéria de algoritmos sem ter nada de lógica x_x, e o professor é meio biruta… Então, não se ofendam com a minha ignorância. Obrigado!

Opa, consegui aqui gente. E como eu tinha dito, foi falta de lógica mesmo, relativamente simples de contornar, hehe!

OK. Eu já estava montando uma resposta quando vi que você conseguiu.

Se precisar mais algo basta postar. Manipular arquivos texto é uma especialidade minha. kkkkkkkkkk

Adoraria transformar todo esse teu arquivo em um XML e criar uma árvore de pesquisa.

Boa sorte.