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 ;)