扫描仪在java性能

时间:2011-11-03 12:02:47

标签: java

当我使用System.in时,我有一个100000行的文件,获取输入需要1分钟以上,但当我使用文件读取输入时,它不需要时间。 什么是继续使用System.in但速度更快的解决方案?

4 个答案:

答案 0 :(得分:2)

System.in逐行读取,而不是一次读取文件内容。所以它很慢。

答案 1 :(得分:1)

System.in本质上很慢,因为它逐行获取数据(检查换行符),而不是从映射到虚拟内存中的文件执行大块复制。

没有真正的方法来加速System.in,这听起来像读取文件会更加理想。

更新:您可能需要查看以下问题:What's the fastest way to read from System.in in Java?

答案 2 :(得分:0)

尝试更改system.in的流 System.setIn(new FileInputStream(fileName));

答案 3 :(得分:0)

如果要快速读取文件,则需要使用StringTokenizer。 https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html