【IO流系列】IOException IO流异常

时间:2025-02-21 06:59:51
package text.IOStream.IOException; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* try...catch异常处理 基本做法:try...catch...finally 利用try...catch...finally捕获拷贝文件中代码出现的异常 格式: try { //可能出现异常的代码 } catch () { //可能出现的异常 } finally { //一定会执行的代码 } 注意:被finally控制的语句一定会执行,除非JVM退出 */ public class IOException01 { public static void main(String[] args) { FileInputStream fis = null; FileOutputStream fos = null; try { //创建对象 fis = new FileInputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileInputStream\\FileInputStream03\\"); fos = new FileOutputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileInputStream\\FileInputStream03\\"); //拷贝数据 //核心思想:边读边写 int b; while ((b = fis.read()) != -1) { fos.write(b); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { //释放资源 //规则:先开的流最后关闭 if (fos != null) { //判断直接输出流对象是否为空,为空则不需要释放资源(表示内存-->程序的通道没搭建上) try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if (fis != null) { //判断字节输入流对象是否为空,为空则不需要释放资源(表示程序-->内存的通道没搭建上) try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } } }