2011-11-03 152 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

任何解決方案的人? –