栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

异常处理与 io流

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异常处理与 io流

异常处理与 io流

文章目录
    • 异常处理与 io流
  • 异常处理
    • I/O编程

异常处理

提高程序的容错性 : 解决运行时错误
避免异常: 尽可能使异常不出现, 不发生
处理异常: 当异常发生时, 应对这种异常 有部分代码,正常情况不执行,异常发生时才执行
异常的分类
Throwable 所有异常的父类
|- Error 错误 严重的底层错误 不可避免 无法处理 不用处理
|- Exception 异常 可以处理
|- RuntimeException 子类 运行时异常 未检查异常 可以避免 可以处理,可以不处理
|- 非RuntimeException子类 已检查异常 不可避免 必须处理

异常对象的产生和传递
异常对象的产生:
throw 异常对象;
抛出一个异常
抛出异常: 方法以异常对象作为返回值,返回 等同于return语句
异常对象的传递:
沿着方法调用链, 以返回值的形式, 逐级回传,直至JVM. JVM就会中止运行
异常的处理
1.声明抛出
throws 异常类名1 , 异常类名2 , … 异常类名n
方法覆盖时 , 子类方法不能比父类抛出更多的异常
2.捕获异常:

try {
	语句1 
	语句2 
	... 
	语句n
 }
 catch(异常类型A e){ 
 }
 catch(异常类型B e){
  }
 finally{ 无论如何都会执行 通常用来释放资源
   }
   ...

可以同时捕获父类异常和子类异常, 但必须先捕获子类异常, 再捕获父类异常

try{} catch(){}
try{} catch(){} finally{}
try{} finally{} //无法捕获异常, 利用finally必须执行的特点, 完成特定操作
I/O编程

Java程序的输入和输出
流的概念和分类
流对象: 用来传输数据的对象
流的分类:
流的方向: 输入流 / 输出流 输入流: 读数据 输出流: 写数据
数据单位: 字节流 / 字符流 字节流: 以字节为单位 处理一切数据
字符流: 以字符为单位 处理文本数据 (.txt .html .java .xml)
流的功能: 节点流 / 过滤流
节点流: 实际负责数据传输
过滤流: 为节点流增强功能

字节流:
InputStream/OutputStream 抽象类 字节流的父类
FileInputStream/FileOutputStream 文件字节流 节点流

OutputStream os = null; 
try {
	 os = new FileOutputStream("a.txt") ;
	 os.write('D');
}
catch (IOException e) { 
	e.printStackTrace(); 
}
finally{ 
	try {
	if (os!= null) os.close(); //关闭流
 }
  catch (IOException e) {
  e.printStackTrace();
   }
 }
try - with - resource 
 try (定义资源 实现了AutoCloseable接口){ 代码 } 
  catch(Exception e){} 
 try (OutputStream os = new FileOutputStream("a.txt"))
 {
  os.write('D');
 }
 catch(IOException e){
    e.printStackTrace();
 }

BufferedInputStream/BufferedOutputStream 过滤流 缓冲功能, 提高I/O效率
flush() 清空缓冲区 对于缓冲输出流 BuffedOutputStream
PrintStream : 取代BufferedOutputStream 带缓冲的字节输出流

FileOutputStream fos = new FileOutputStream("a.txt");
BufferedOutputStream out = new BufferedOutputStream(fos); 
out.write('A'); 
out.close();

I/O编程基本顺序:

  1. 创建节点流
  2. 封装过滤流
  3. 读/写数据
  4. 关闭外层流

学得有点慢了,需要加快速度

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606155.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号