【发布时间】:2022-01-21 15:19:18
【问题描述】:
这是我的功能:
public void addToList() throws IOException {
String urlString = "http://web.stanford.edu/class/archive/cs/cs106l/cs106l.1102/assignments/dictionary.txt";
URL url = new URL(urlString);
Scanner scannerWords = new Scanner(url.openStream());
while (scannerWords.hasNextLine()) {
words.add(scannerWords.nextLine());
}
}
这需要: 执行时间为 32.8 秒。
无论如何我可以优化它(也许每 10 行读取一次)?
【问题讨论】:
-
你应该测量哪个部分需要这么长时间。我认为将行添加到列表的循环不是耗时的部分。再说一次,两者都不是传输 127kb 的文件。
-
@f1sh 它是。 while 循环是消耗部分。
-
你能确保网络连接不是这里的瓶颈吗?
-
您可以尝试给出的答案或使用老派的方式 - 完全避免
Scanner。 -
这个问题被打破了。你想达到什么目的?您还需要查看多少优化解决方案?