【发布时间】:2015-07-02 06:28:53
【问题描述】:
我的应用程序中有这个代码 sn-p,我很确定我有 关闭所有流。
但是,令人惊讶的是,我不断得到: 在附加的堆栈跟踪中获取了资源,但从未释放。有关避免资源泄漏的信息,请参阅 java.io.Closeable。 java.lang.Throwable:未调用显式终止方法“关闭”
任何指针都会非常有用。
if (fd != null) {
InputStream fileStream = new FileInputStream(fd.getFileDescriptor());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fileStream.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
content = bos.toByteArray();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
if (fileStream != null) {
fileStream.close();
}
if (bos != null) {
bos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
抱歉,我错过了将代码添加到问题中。
标签: java fileinputstream resource-leak