🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁
处理Java中的I/O流异常至关重要。通过使用try-catch块、throws关键字、try-with-resources语句以及自定义异常类,可以有效地捕获和处理I/O操作可能引发的异常。这样可以增强程序的健壮性,确保在面对外部资源交互问题时,程序能够以可控的方式继续执行,避免系统崩溃或数据丢失的风险。
在Java中,I/O流是处理输入和输出的重要手段。然而,由于涉及到与外部资源的交互,I/O操作可能会引发各种异常。为了确保程序的稳定性和可靠性,在处理I/O流时,适当的异常处理是必不可少的。
// 1. 消极处理异常
public static void main(String[] args)throws
IOException {
FileOutputStream fos = new
FileOutputStream("file/test.txt");
FileInputStream fis = new
FileInputStream("file/test.txt");
String str = "helloworld";
// 文件字节输出流
for(int i=0;i<str.length();i++) {
char c = str.charAt(i);
fos.write(c);
}
System.out.println("利用 文件字节输入 流将 内容
读入");
while(true) {
int r = fis.read();
if(r==-1) break;
System.out.println((char)r);
}
}
// 2. 积极处理:try..catch..finally
public class Test_01 {
public static void main(String[] args) {
FileOutputStream fos = null;
try {
String str = "helloworld";
// 文件字节输出流
fos = new
FileOutputStream("file2/test.txt");
for(int i=0;i<str.length();i++) {
char c = str.charAt(i);
fos.write(c);
}
}catch(IOException e) {
e.printStackTrace();
}finally {
if(fos!=null) {
try {
fos.close();//
null.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
// 3.积极处理:try-with-resources(自动的关闭 try()
中的资源)
public class Test_02 {
public static void main(String[] args) {
try(
FileOutputStream fos = new
FileOutputStream("file/test.txt");
FileInputStream fis = new
FileInputStream("file/test.txt");
) {
String str = "helloworld";
// 文件字节输出流
for(int i=0;i<str.length();i++) {
char c = str.charAt(i);
fos.write(c);
}
System.out.println("文件字节输入流将内
容读入");
while(true) {
int r = fis.read();
if(r==-1) break;
System.out.println((char)r);
}
}catch(IOException e) {
e.printStackTrace();
}
}
}
在Java中,处理I/O流异常的方式包括以下几种:
try
块中,然后使用一个或多个catch
块捕获不同类型的异常。通过不同的catch
块可以根据具体的异常类型采取不同的处理逻辑。
throws
关键字在方法声明中抛出异常。这将把异常传递给方法的调用者来处理。
AutoCloseable
接口的资源,如文件流或网络连接。这样可以避免忘记关闭资源导致的资源泄漏问题。