代码如下
DigestUtils.md5Hex(new FileInputStream(path));
new FileInputStream会启动个流,这个流需要关闭吗?
如果需要关闭,代码编程这样
InputStream inputStream = null;
String md5Hex = null;
try {
inputStream = new FileInputStream(docPath);
md5Hex = DigestUtils.md5Hex(inputStream);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我还发现
DigestUtils.md5Hex执行之之前inputStream.available();有值,执行后inputStream.available();的值变为0,是不是inputStream.available();的值为0就不需要关闭流
请用java 7的try-resource语法: