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!