我想测试一下anroid是否支持自动关闭流的功能,怎奈jdk并没有提供判断流是否关闭的接口,只能剑走偏锋,想了一个矬逼的办法,抓异常,具体代码如下。
FileInputStream fi2 = null;
try (FileInputStream fi = new FileInputStream(pngFilePath)) {
fi2 = fi;
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fi2.read();
} catch (IOException e) {
e.printStackTrace(); //如果流已经关闭,这里会报
}
}
FileOutputStream fo2 = null;
try (FileOutputStream fo = new FileOutputStream(pngFilePath)) {
fo2 = fo;
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fo2.write(new byte[] {1, 2, 3});
} catch (IOException e) {
e.printStackTrace(); //如果流已经关闭,这里会报
}
}