gpt4 book ai didi

java - 从 Java 中的 BufferedReader 对象中提取全部内容的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:25 24 4
gpt4 key购买 nike

我正在尝试通过 URLConnection 获取整个网页。

执行此操作最有效的方法是什么?

我已经这样做了:

URL url = new URL("http://www.google.com/");
URLConnection connection;
connection = url.openConnection();
InputStream in = connection.getInputStream();
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
StringBuffer html = new StringBuffer();
String line = bf.readLine();
while(line!=null){
html.append(line);
line = bf.readLine();
}
bf.close();

html 包含整个 HTML 页面。

最佳答案

我认为这最好的方法。页面的大小是固定的(“就是这样”),所以你不能提高内存。也许您可以在拥有内容后对其进行压缩,但它们在那种形式下并不是很有用。我想您最终会希望将 HTML 解析为 DOM 树。

您为并行读取所做的任何操作都会使解决方案过于复杂。

我建议使用默认大小为 2048 或 4096 的 StringBuilder。

为什么您认为您发布的代码还不够?你听起来像是对过早的优化感到内疚。

用你拥有的东西运行,晚上 sleep 。

关于java - 从 Java 中的 BufferedReader 对象中提取全部内容的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com