Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTPUrl连接已自动关闭_Java_Url_Jaxb - Fatal编程技术网

Java HTTPUrl连接已自动关闭

Java HTTPUrl连接已自动关闭,java,url,jaxb,Java,Url,Jaxb,我正在使用httpurlconnection读取xml响应。我使用JAXB解析了响应。我没有关闭连接。当我再次尝试读取URL时,我将错误作为输入流。我是否必须打开连接两次,或者是否有办法打开连接一次,读取响应两次,然后关闭连接?JAXB可能会使用InputStream,然后关闭它。您需要使用某种类型的缓存,以使其具有缓冲和可重用性 使用番石榴,您可以执行以下操作 HttpURLConnection con = ...; // get it InputStream in = con.getInpu

我正在使用httpurlconnection读取xml响应。我使用JAXB解析了响应。我没有关闭连接。当我再次尝试读取URL时,我将错误作为输入流。我是否必须打开连接两次,或者是否有办法打开连接一次,读取响应两次,然后关闭连接?

JAXB可能会使用
InputStream
,然后关闭它。您需要使用某种类型的缓存,以使其具有缓冲和可重用性

使用
番石榴
,您可以执行以下操作

HttpURLConnection con = ...; // get it
InputStream in = con.getInputStream();
String content = CharStreams.toString(new InputStreamReader(in, Charsets.UTF_8));
然后将一个新的
InputStream
传递给JAXB,该流由
content
的字节组成

InputStream inForJAXB = new ByteArrayInputStream(content.getBytes());
对于需要
HttpURLConnection
输入流内容的任何其他组件,您可以再次执行相同的操作