0

我正在使用 httpurlconnection 读取 xml 响应。我使用 JAXB 解析了响应。我没有关闭连接。当我再次尝试从 URL 读取时,我收到错误作为输入流。我必须打开连接两次还是有什么方法可以打开一次连接并读取两次响应然后关闭连接?

4

1 回答 1

0

JAXB 可能会使用InputStream然后关闭它。你需要使用某种FilterInputStream以便它可以缓冲和可重用。

使用Guava,您可以执行类似的操作

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您可以对需要输入流内容的任何其他组件再次执行相同的操作。

于 2013-09-08T16:01:36.290 回答