gpt4 book ai didi

java - 在 Java 中多次读取 BufferedReader

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:03 24 4
gpt4 key购买 nike

我有以下 Java 代码:

HttpURLConnection con = (HttpURLConnection)new URL(url).openConnection();
con.connect();
InputStream stream = con.getInputStream();
BufferedReader file = new BufferedReader(new InputStreamReader(stream));

此时,我一边搜索一边从头到尾阅读文件:

while (true)
{
String line = file.readLine();
if (line == null)
break;
// Search for something...
}

现在我想在文件中搜索其他内容,无需打开另一个 URL 连接

出于与这个问题无关的原因,我希望避免“在单个文件扫描中”搜索这两个东西。

问题:

  1. 我可以使用reset 倒回文件吗?

  2. 如果是,我应该将它应用于 InputStream 对象、BufferedReader 对象还是两者?

  3. 如果不是,那么我应该简单地关闭文件并重新打开它吗?

  4. 如果是,我应该将它应用于 InputStream 对象、BufferedReader 对象还是两者?

  5. 如果不是,我还能如何再次扫描文件,而无需再次读取 URL 连接?

最佳答案

您可以使用 reset() 倒回文件,前提是您已经用 mark() 标记了要倒回的位置。这些方法应该在装饰器上调用,即 BufferedReader

但是,您可能需要重新考虑您的设计,因为您可以轻松地将整个文件读入某种数据结构(甚至是字符串列表,或由字符串支持的某些流)并多次使用该数据。

关于java - 在 Java 中多次读取 BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21237442/

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