gpt4 book ai didi

java - 关闭 StreamReader

转载 作者:可可西里 更新时间:2023-11-01 16:26:17 25 4
gpt4 key购买 nike

从服务器获得响应(通过发送 http 请求)后,我尝试按如下方式获取内容:

HttpEntity entity = response.getEntity();

if (entity == null) {
...
}

String content;
try {
Reader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
content = IOUtils.toString(reader);
reader.close();
EntityUtils.consume(entity);
} catch (IOException e) {
...
}

是否需要关闭阅读器(reader.close())?或者 EntityUtils.consume(entity) 就足够了吗?

最佳答案

您可以使用 try-with-resources 语句:

try(Reader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"))) {
content = IOUtils.toString(reader);
EntityUtils.consume(entity);
} catch (IOException e) {
...
}

这已经为您关闭了阅读器。

对于 Java 6,您应该使用以下内容:

Reader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
content = IOUtils.toString(reader);
EntityUtils.consume(entity);
} catch (IOException e) {
...
} finally {
if(reader != null){
try {
reader.close();
} catch(IOException e){
// can not be closed
}
}
}

关于java - 关闭 StreamReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50623077/

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