我有以下块代码:
我有以下块代码:
URL url = new URL("http://abc.com");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream());
StringBuilder sb = new StringBuilder();
String str = null;
while (null != (str = reader.readLine())) {
sb = sb.append(str);
}
resStr = sb.toString();
reader.close();
con.disconnect();
以上代码块中有两个输入流我没有关闭。
第一个是 new InputStreamReader()
,第二个是 con.getInputStream()
。我新建了两个输入流但没有关闭它们。因此,这可能导致内存泄漏?
注意:我正在使用jdk1.7.0_21。
reader
,所以包装的流将自动关闭。 - Rohit Jainreader
对象。当前,如果发生异常,reader
将不会被关闭。即try (BufferedReader reader = new Buff...) { // reading code }
- Duncan Jones