java 处理流异常_java io流和异常处理

java io流和异常处理

大体上是一个连续得数据流 ,可以从流中读取数据,也可以写入数据

流 可以是字节流,也可以是字符流

InputStream

OutputStream

Reader

Writer

这些类在javaio中负责不同的功能

文件访问

网络访问

内存缓存访问

线程内部通信(管道)

缓冲

过滤

解析

读写文本 (Readers / Writers)

读写基本类型数据 (long, int etc.)

读写对象

Reader类 基类 Buffered InputStream

InputStream的read()方法返回一个字节,意味着这个返回值的范围在0到255之间(当达到流末尾时,返回-1),Reader的read()方法返回一个字符,意味着这个返回值的范围在0到65535之间(当达到流末尾时,同样返回-1)。这并不意味着Reade只会从数据源中一次读取2个字节,Reader会根据文本的编码,一次读取一个或者多个字节。

Writer类 基类 Buffered OutputStream

FileReader 和FileWriter类

用于处理文件内容

FileReader

以字符流的形式读取文件

read()方法返回一个包含了读取到的字符内容的int类型变量(译者注:0~65535)。如果方法返回-1,表明FileReader中已经没有剩余可读取字符,此时可以关闭FileReader。-1是一个int类型,不是byte或者char类型,这是不一样的。

使用

FileReader使用jvm底层指定得编码格式读取数据,没有api提供编码设置方式

可以使用 InputStreamReader配合FileInputStream代替FileReader,InputStreamReader可以设置编码方式

FileWriter

把数据以只会如得形式写入文件,处理字符,不同编码,一个字符可能相当于一个或多个字节

写入数据时是覆盖文件内容还是追加到文件末尾,构造函数FileWriter中两个构造参数第二个参数

true是追加写入,false是覆盖写入

字符流的Buffered和Filter

BufferedReader能为字符输入流提供缓存区

BufferedReader和BufferedInputStream区别,操作字符和操作原始字节

可以通过构造函数将FileReader包装成BufferReader,这样就有了缓存区,第二个参数

可以指定缓存区大小

BufferedWriter和上述类型,有和readerline方法相似的writeLine方法,这样可以加快速度

FilterReader是实现自定义过滤输入字符流的基类

PipedReader用于读取管道中的数据

PipedWriter 用于写入管道中的数据

CharArrayReader能够从字符数组中读取字符流

CharArrayWriter 将字符写入字符输出流中,并将写入的字符转换成字符数组

LineNumberReader

是用来记录已读取数据行号的BufferedReader,默认情况下,行号从0开始,可以很方便的定位

出错的行信息

StringReader

StringWriter

java io中异常处理

这里可以使用异常模板处理文件异常,这样代码会更整洁可读

java io流和异常处理相关教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值