2011-11-03 115 views
2

我有一个100000行的文件,当我使用System.in它需要超过1分钟,以获得输入,但是当我使用文件来读取输入,它不需要时间。 什么是继续使用System.in但速度更快的解决方案?在java性能扫描仪

+0

我是一个新用户,我接受问题,但有时你知道我不能做什么!!! –

+0

您可以随时接受答案,只需点击左侧的投票计数下面的勾号即可。 – Polynomial

+0

即使不回答主题是怎么回事? –

回答

2

System.in逐行地读取不是在time.So文件内容它是缓慢的。 System.setIn(new FileInputStream(fileName));

1

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

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

更新:你可能想看看这个问题:What's the fastest way to read from System.in in Java?

+0

正在解决一个acm问题,并输入来自System.in –

+0

你不能改变它,所以去'System.in'的字符串是一个文件的路径,然后解析它从那里? – Polynomial

+0

我希望:它没有任何意义http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=378&page=show_problem&problem=2968 –

0

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

+0

任何解决方案的人? –