当我将数据写入流时,我期望以下代码会引发异常:
File file = new File("test.txt");
FileOutputStream fs = new FileOutputStream(file);
OutputStreamWriter ow = new OutputStreamWriter(fs);
BufferedWriter writer = new BufferedWriter(ow);
fs.close();
try {
ow.write(65);
writer.write("test");
} catch (Exception e) {
e.printStackTrace();
}
我意识到我应该关闭 BufferedWriter,但是在我当前的环境中,FileOutputStream 可能会在 BufferedWriter 关闭之前关闭。FileOutputStream 不应该抛出一个应该向上移动的 IOException,直到它碰到我的 try/catch 块并打印堆栈跟踪?
如果我尝试调用 fs.write(65),则会引发异常。