Java中如何检测IO流是否已被正确关闭?
- 内容介绍
- 文章标签
- 相关推荐
本文共计239个文字,预计阅读时间需要1分钟。
我想测试一个Android是否支持自动关闭流的功能,但是JDK并没有提供判断流是否关闭的接口,只能剑走偏锋,想了一个简单的办法,抓取异常,整体代码如下:
javaFileInputStream fis=null;try { fis=new FileInputStream(example.txt); // ... 其他操作 ...} catch (IOException e) { // 处理异常} finally { if (fis !=null) { try { fis.close(); } catch (IOException e) { // 处理异常 } }}
我想测试一下anroid是否支持自动关闭流的功能,怎奈jdk并没有提供判断流是否关闭的接口,只能剑走偏锋,想了一个矬逼的办法,抓异常,具体代码如下。FileInputS我想测试一下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(); //如果流已经关闭,这里会报 } }本文共计239个文字,预计阅读时间需要1分钟。
我想测试一个Android是否支持自动关闭流的功能,但是JDK并没有提供判断流是否关闭的接口,只能剑走偏锋,想了一个简单的办法,抓取异常,整体代码如下:
javaFileInputStream fis=null;try { fis=new FileInputStream(example.txt); // ... 其他操作 ...} catch (IOException e) { // 处理异常} finally { if (fis !=null) { try { fis.close(); } catch (IOException e) { // 处理异常 } }}
我想测试一下anroid是否支持自动关闭流的功能,怎奈jdk并没有提供判断流是否关闭的接口,只能剑走偏锋,想了一个矬逼的办法,抓异常,具体代码如下。FileInputS我想测试一下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(); //如果流已经关闭,这里会报 } }
