
		cleysinhonv
		
		(usa Ubuntu)
		
		Enviado em 23/12/2014 - 13:17h 
		Olá pessoal,
Estou fazendo um stream em um arquivo com java. O arquivo tem aproximadamente 1GB e 12 milhões de linhas. O algoritmo que fiz esta extremamente lento. Gostaria de uma sugestão de como posso fazer essa implementação para que eu consiga maior rapidez e eficiência para fazer a leitura completa desse arquivo.
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
/* Outros códigos */
        ...
        String line;
        String[] key = null;
        String str = "";
        File file = new File(f);
        LineIterator it;
        it = FileUtils.lineIterator(file);
        try {
            while (it.hasNext()) {
                line = it.nextLine();
                // do something with line
                if (line.contains(">")) {
                    if (key != null) {
                        fasta.put(key[0], str);
                        str = "";
                    }
                    key = line.split("\t");
                    keys.add(key[0]);
                    System.out.println(key[0]);
                } else {
                    str += line;
                }
            }
        }finally {
            LineIterator.closeQuietly(it);
        }
Grato ;)