【发布时间】:2014-03-23 13:02:06
【问题描述】:
基本上我不确定finally关键字的正确用法是什么,我只知道文本定义:保证代码将被执行,因为有时它不会。所以我希望我能得到一些关于这个特定代码的指导:
如果 try-catch 块调用 InputStream#close() 是不必要的
try {
inputStream = entity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
String line = null;
while((line = br.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
responseText = sb.toString();
} catch(IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
这段代码是 Apache HttpClient 的吗? (那个 entity.getContent() 看起来很眼熟!)如果是这样,请尝试使用 EntityUtils.consume(entity) 来确保释放连接。
-
是的。我试试看
标签: java inputstream ioexception try-catch-finally