学习笔记之(IO流对象)IO中的异常处理 import java.io.FileOutputStream; import java.io.IOException; /* * IO流的异常处理(IO流会出现很多异常,要注意) * try catch finally * * 细节: * 1. 保证流对象变量,作用域足够 * 2. catch里面,怎么处理异常 * 输出异常的信息,目的看到哪里出现了问题 * 停下程序,从新尝试 * 3. 如果流对象建立失败了,需要关闭资源吗 * new 对象的时候,失败了,没有占用系统资源 * 释放资源的时候,对流对象判断null * 变量不是null,对象建立成功,需要关闭资源 */ public class FileOutputStreamDemo3 { public static void main(String[] args) { //try 外面声明变量,try 里面建立对象 FileOutputStream fos null; try{ fos new FileOutputStream(s:\\a.txt); fos.write(100); }catch(IOException ex){ System.out.println(ex); //写数据有可能是往外接设备里面写,写着突然把外接设备拔了,这个问题无法处理 //因为这是软件程序,catch处理不了外接设备,并不是所有异常都能解决,例如,光盘被 //损坏了,程序是无法从光盘中读取数据。硬件出问题,软件无法解决,只有重试 throw new RuntimeException(文件写入失败,重试); }finally{ try{ if(fos!null) //写这里是因为防止在try catch中因为报错而不执行关闭流. //关闭流try catch为了防止万一系统奔溃了,io流无法关闭。 fos.close(); }catch(IOException ex){ throw new RuntimeException(关闭资源失败); } } } }