我必须逐字读取一个53 MB的文件.当我在C中使用ifstream时,它以毫秒为单位完成,但使用
Java InputStream需要几分钟. Java是这么慢吗?我错过了什么吗?
此外,我需要用Java完成程序(它使用servlet,我必须调用处理这些字符的函数).我正在考虑在C或C中编写文件处理部分,然后使用Java Native Interface将这些功能与我的Java程序进行接口…这个想法如何?
任何人都可以给我任何其他提示…我认真地需要阅读文件更快.我尝试使用缓冲输入,但仍然没有提供甚至接近C的性能.
编辑:我的代码跨越几个文件,它是非常脏的,所以我给的概要
import java.io.*;
public class tmp {
public static void main(String args[]) {
try{
InputStream file = new BufferedInputStream(new FileInputStream("1.2.fasta"));
char ch;
while(file.available()!=0) {
ch = (char)file.read();
/* Do processing */
}
System.out.println("DONE");
file.close();
}catch(Exception e){}
}
}