Java读写文件小结

Java IO中用于读写文件的四个抽象类:Reader,Writer,InputStream,OutputStream

根据流所处理的数据类型分为两类:

(1)字节流:用于处理字节数据。(InputStream,OutputStream)

(2)字符流:用于处理字符数据,Unicode字符数据。(Reader,Writer)

读写文件只要选一种实现这四个抽象类的实现类操作即可,Java IO提供的实现类如下:

InputStream:


OutputStream:


Reader:


Writer:


更牢固的掌握常用的读写类的方法:记住下面一种流的分类方式、知道可以利用缓存来提高读写效率的原理。

按照流所处理的源:

(1)节点流:低级流

从一个特定的IO设备读数据的流(read)

向一个特定的IO设备写数据的流(write)

(2)处理流:高级流

对已经存在的流进行连接和封装的流。(对低级流进行处理和封装的流)

这里封装的目的是提供缓存的功能:缓冲流

缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。有四种缓冲流:BufferedReader,BufferedWriter,BufferedInputStream,BufferedOutputStream

(1)缓冲输入流支持其父类的mark()和reset()方法:
 
mark()用于“标记”当前位置,就像加入了一个书签,可以使用reset()方法返回这个标记重新读取数据。
 
(2)BufferedReader提供了readLine()方法用于读取一行字符串(以\r或\n分隔)。
 
(3)BufferedWriter提供了newLine()用于写入一个行分隔符。
 
(3)对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()方法将会使内存中的数据立刻写出。

我们要记住常用的处理字节流与字符流的类:


注意:

1. 字节流用于读写诸如图像数据之类的原始字节流。(InputStream,OutputStream)

2. 字符流用于读写诸如文件数据之类的字符流。(Reader,Writer)

3. 低级流能和外设交流。

4. 高级流能提高效率。

5. 高级流能封装低级流,从而跟外设交流,

5. InputStreamReader 是字节流通向字符流的桥梁。

6. OutputStreamWriter是字符流通向字节流的桥梁。

7. 要想转换编码格式,目的就是读取字符流,但要通过字节流进行格式的转换,所以必须要用到InputStreamReader或者OutputStreamWriter的当桥梁:

eg: new InputStreamReader(in,"UTF-8") // 指定读取文件时以UTF-8的格式读取

new OutputStreamWriter(out,"GB2312") // 指定写入文件时以GB2312的格式写入


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值