gpt4 book ai didi

java - 多次读取同一个URL,第二次未获取到数据

转载 作者:行者123 更新时间:2023-12-01 12:57:48 25 4
gpt4 key购买 nike

我有以下代码。一个连接,然后从该连接获取输入流并从输入流读取。现在我想重用同一连接再次获取输入流,但第二次我没有得到任何数据。

为什么会这样?我没有使用相同的流,而是使用相同的连接。我们需要第二次再次打开连接吗?请解释一下。

URL url=new URL("https://www.google.co.in/");
HttpURLConnection httpURLConnection=(HttpURLConnection)
url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.connect();

InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);

System.out.println("**********************************");


/*Reading 2nd time*/
InputStream is=httpURLConnection.getInputStream();
BufferedReader bf = new BufferedReader(new InputStreamReader(is));
String inputLines=null;
while ((inputLine = bf.readLine()) != null)
System.out.println(inputLines);
bf.close();

最佳答案

第二次调用 getInputStream() 不会为您提供新的流,它只会为您提供您已经读取过的流 - 并且该流没有任何内容可供读取。

如果您确实想读取内容两次,我建议您将其复制到 String (如果其内容不是文本,则复制到 byte[])你第一次读它。然后,您可以从 Stringbyte[] 读取它两次。

如果内容特别大,另一种选择是将其复制到临时文件。

关于java - 多次读取同一个URL,第二次未获取到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23753201/

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