系列文章目录
Java_IO——概述
Java_IO——字节流
Java_IO——字符流
Java_IO——缓冲流
Java_IO——属性集与转换流
Java_IO——序列化与反序列化、打印流
Java_IO——IO异常的处理
JDK1.7之前:
package DemoWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Demo04TryCatch {
public static void main(String[] args){
//提升对象的作用域
FileWriter fw = null;
try {
//可能异常的代码
fw = new FileWriter("D:\\***\\f.txt");
for (int i = 0; i < 10; i++) {
fw.write("HelloWorld" + i + "\r\n");
}
} catch (IOException e) {
//处理逻辑
System.out.println(e);
} finally {
//无论是否出现异常都会执行
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
JDK1.7:
package DemoWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Demo04TryCatch {
public static void main(String[] args){
try(//在jdk1.7中可以将创建对象的过程写在括号里,代码执行完毕后可以自动关闭流
FileInputStream fis = new FileInputStream("D:\\***\\Pictures\\Saved Pictures\\1644003222554.jpg");
FileOutputStream fos = new FileOutputStream("D:\\***\\Pictures\\a.jpg");) {
//可能异常的代码
byte[] bytes = new byte[1024];
int len = 0;
while ((len = fis.read(bytes)) != -1) {
fos.write(bytes,0,len);
}
} catch (IOException e) {
//处理逻辑
System.out.println(e);
}
}
}
JDK9:
package DemoWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Demo04TryCatch {
public static void main(String[] args) throws FileNotFoundException {
//try前可以定义流对象
FileInputStream fis = new FileInputStream("D:\\***\\Pictures\\Saved Pictures\\1644003222554.jpg");
FileOutputStream fos = new FileOutputStream("D:\\***\\Pictures\\a.jpg");
try(fis;fos) {
//可能异常的代码
byte[] bytes = new byte[1024];
int len = 0;
while ((len = fis.read(bytes)) != -1) {
fos.write(bytes,0,len);
}
} catch (IOException e) {
//处理逻辑
System.out.println(e);
}
}
}