Java学习——异常处理、输入输出

异常处理

异常类分为两大类,分别为java.lang.Exception与java.lang.Error类

异常的处理

在Java语言中,异常处理是通过try、catch、finally、throw、throws五个关键字来实现的
使用try-catch-finally语句捕获和处理异常,语法格式入下:

try
{
要检查的语句序列
}
catch(异常类名 形参对象名)
{
异常发生时的处理语句序列
}
finally
{
一定会运行的语句序列
}

抛出异常

在捕获一个异常前,必须有一段代码生成一个异常对象并把它抛出。抛出的方法有:系统自动抛出的异常和指定方法抛出异常。
抛出异常的方法:
方法一:在方法体内使用throw语句抛出异常对象

throw 由异常类所产生的对象;

其中,“由异常类所产生的对象”是一个从Throwable派生的异常类对象。
方法二:在方法头部添加throws子句表示方法将抛出异常,格式如下:

[修饰符] 返回值类型 方法名([参数列表])throws 异常列表类

处理异常的方法

Java语言的输入输出

借助输入输出包java.io来实现。

流的概念

流是指计算机各部件之间的数据流动。按照数据的传输方向,流可分为输入流与输出流。从流的内容划分,流分为字节流和字符流。输入流只能读取不能写入,输出流则只能写入不能读取。字节流8位字节,对字节进行处理,字符流16位字符,对字符进行处理。

1.输入输出流

2.缓冲流

为提高数据的传输效率,通常使用缓冲流,即为一个流配有一个缓冲区,这个缓冲区就是专门用于传送数据的一块内存。

输入输出流类库

为方便流的处理,java语言的流类都封装在java.io包中,所以要使用流类,必须导入java.io包。
四个基本类:InputStream、OutputStream、Reader、Writer 类。
字节流:处理字节数据(InputStream、OutputStream)
字符流:处理字符数据(Reader、Writer)

使用InputStream和OutputStream流类

InputStream和OutStream流类是Java语言中用来处理以位(bit)为单位的流,它除了可用来处理二进制文件的数据外,也可用来处理文本文件。(还是建议使用字符流)

基本的输入输出流类

1.InputStream流类

当Java程序需要从外设读入数据时,要创建一个适当类型的输入流对象来完成对该外设的连接。由于InputStream是抽象类,所有创建的对象一般是其某个子类的对象,通过调用该对象继承的read()方法就可实现对相应外设的输入操作

2.OutputStream流类

当Java程序需要从外设输出数据时,要创建一个适当类型的输出流对象来完成对该外设的连接。由于OutputStream是抽象类,所有创建的对象一般是其某个子类的对象,通过调用该对象继承的write()方法就可实现对相应外设的输出操作

输入输出流的应用

1.文件输入输出流

FileInputStream和FileOutStream分别是InputStream和OutputStream的直接子类,主要负责完成对本地磁盘文件的顺序输入与输出操作的流。
FileInputStream类的常用构造方法
public FileInputStream(String name)
public FileInputStream(File file)
public FileInputStream(FileDescriptor fdObj)
public FileOnputStream(String name)
public FileOnputStream(String name,boolean append)
public FileOnputStream(File file)
public FileOnputStream(FileDescriptor fdObj)
上述File是在java.io包中定义的一个类 ,每个File类对象表示一个磁盘文件或文件夹,其对象属性中包含了文件或文件夹的有关信息
注意:无论哪个构造方法,在创建文件输入流和输出流时都可能因给出的文件名、路径或文件的属性不对等,不能打开文件造成错误,所以创建输入输出流并调用构造方法语句以及执行读写操作的语句应该被包含在try语句块中,并有相应的catch语句块来处理可能产生的异常

2.顺序输入流

顺序输入流类SequenceInputStream是InputStream的直接子类,功能是 将多个输入流顺序连接在一起,形成单一的输入顺序流,没有对应的输出数据流存在。

3.管道输入输出流

管道流用来将一个程序或线程的输出连接到另外一个程序或线程作为输入,使得相连线程能够进行数据交换,从而实现程序内部线程间的通信或不同程序间的通信。

4.过滤输入输出流

实现了在数据的读写操作的同时进行数据处理,创建输入输出流时,应该将其所连接的输入输出流作为参数传递给过滤流的构造方法。

5.标准输入输出流

System.in、System.out、System.err这三个标准的输入输出流对象定义在java.lang.System类中,在Java源程序编译时被自动装载。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值