IO异常应该如何处理实例

来源:互联网 发布:淘宝店铺装修的流程 编辑:程序博客网 时间:2024/05/19 21:19

public class Demo1 {

 

public static void main(String[] args) {

readTest();

}

//拷贝图片

public static void copyImage(){

FileInputStream fileInputStream = null;

FileOutputStream fileOutputStream = null;

try{

//找到目标文件

File inFile = new File("F:\\美女\\1.jpg");

File outFile = new File("F:\\拷贝.jpg");

//建立数据的输入输出通道

fileInputStream = new FileInputStream(inFile);

fileOutputStream = new FileOutputStream(outFile);

//建立缓冲字节数组,边读边写

byte[] buf = new byte[1024];

int length = 0 ; 

while((length = fileInputStream.read(buf))!=-1){

fileOutputStream.write(buf,0,length);

}

}catch(IOException e){

System.out.println("拷贝出错了...");

throw new RuntimeException(e);

//关闭资源的原则: 先开后关, 后开先关。

}finally{

try{

if(fileOutputStream!=null){

//关闭资源

fileOutputStream.close();

}

}catch(IOException e){

throw new RuntimeException(e);

}finally{

try{

if(fileInputStream!=null){

fileInputStream.close();

}

}catch(IOException e){

throw new RuntimeException(e);

}

} } }

 

public static void readTest() {

FileInputStream fileInputStream = null;

try{

File file = new File("F:\\a.txt");

//建立文件的输入流通道

fileInputStream = new FileInputStream(file);

//建立缓冲字节数组读取文件数据

byte[] buf = new byte[1024];

int length = 0 ; //记录本次读取的字节个数

//读取文件的数据

while((length = fileInputStream.read(buf))!=-1){

System.out.println(new String(buf,0,length));

}

}catch(IOException e){

//如何处理???

System.out.println("读取文件出错...");

throw  new RuntimeException(e);  // 把真正的异常原因包装到RuntimeException中然后再抛出。 (糖衣炮弹)

}finally{

try{

//关闭资源()

if(fileInputStream!=null){

fileInputStream.close();

System.out.println("关闭资源成功...");

}

}catch(IOException e){

System.out.println("关闭资源失败...");

throw  new RuntimeException(e);

}

}

}

0 0
原创粉丝点击