当前位置: 首页 > 创领中心 > 网络优化

字节缓冲流经常使用 BufferedInputStream BufferedOutputStream这两个流的用法 和

  • 网络优化
  • 2024-11-15

大家好,我是Java进阶者。

前言

本文关键学习字节缓冲流经常使用BufferedInputStream和BufferedOutputStream这两个流的用法来成功文本拷贝、字符流、Reader类、Writer类这些的用法。接上去小编带大家一同来学习这些用法!

一、字节缓冲流

1.在前面咱们学习了BufferedInputStream和BufferedOutputStream类,这两个类区分是FilterInputStream类和FilterOutputStream类的子类。它们的结构方法区分接受InputStream和OutStream类型的参数,在读写数据有一个缓冲的性能。

2.经常使用缓冲流来成功读写数据,接上去经过一个案例经常使用BufferedInputStream和BufferedOutputStream这两个流的用法来成功文本拷贝。成功例子如下所示:

(1)首先在text文件夹目录下创立一个test11.txt并写入"Hello,world~~~test!"内容。

(2)成功文件的拷贝代码如下所示:

//创立有缓冲区的输入流和输入流//判别能否读到文件的末尾

运转的结果如下所示:

在上方的代码中,创立了BufferedInputStream和BufferedOutputStream两个缓冲流对象,在这两个流中外部定义一个字节数组,当调用read()方法或write()方法读写数据,先将读写的数据存到字节数组,在把字节数组的数据一次性性读写到文件中。

二、字符流

1.咱们前面学过InputStream和OutputStream的输入输入操作都是基于字节的,字节流不能操作Unicode字符,咱们知道汉字在文件是占2个字节,若经常使用字节流读取不当会产生乱码现象例如显示一个正方形的框。经常使用字符流可以防止产生乱码现象。

2.字符流有两个形象超类区分是Reader和Writer,Reader是字符输入流,经常使用从某个源设施读取字符,Writer是字符输入流,用于向某个指标设施写入字符。

三、Reader类

1.java.io.Reader是字符输入流的最顶层的父类,这个类定义了以字符为单位读取数据的基本方法,并在子类启动分化和成功。

2.Reader类方法有如下所示:

(1)public int read() throwsIOException:读取一个字符。在读取流,假设没有数据就会产生调用碰壁的现象,程序会不时期待到有数据读出为止。

(2)public int read(char cbuf[]) throws IOException:读取多个字符到字符数组cbuf。

(3)public int read(char cbuf[],int off,int len) throwsIOException:从off开局的位置中读取len个字符寄存到字符数组。off参数示意数组偏移量,len参数示意读取数据的长度。

(4)public void mark(int readAheadLimit) throws IOException:在输入流中设置标志。

(5)public boolean markSupporter() throws IOException:测试输入流能否允许mark()方法

(7)public void close() throws IOException:示意封锁流。

(8)public long skip(long n) throwsIOException:略过流中的数据。若数据不够,跳过仅有的字节,前往跳过的字节数。

(9)public boolean ready():前往输入流能否做好读的预备。

3.Reader类实例代码如下所示:

(1)在text文件夹目录下创立一个test13.txt文件并写入"Hello,World!Java进阶学习交换!"。

(2)代码成功的例子:

//一切的数据读到数组c中

运转的结果如下所示:

四、Writer类

1.Writer类是一个写入字符流的形象类。

2.Writer方法有如下所示:

(1)public void close() throws IOException方法:示意封锁流。

(2)public voir write(int c) throws IOException方法:示意写入单个字符。

(3)public abstract void read(char cbuf[],int off,int len) throwsIOException方法:向流中写入一个数组,参数off指定数组的偏移量,len指定读取数据的长度。

(4)public void write(String str) throws IOException方法:写入一个字符串。

五、总结

本文关键引见了字节缓冲流、字符流、Reader类、Writer类。字节缓冲流是经常使用BufferedInputStream和BufferedOutputStream这两个流的用法来成功文本拷贝。字符流有两个形象超类区分是Reader和Writer,Reader是字符输入流,经常使用从某个源设施读取字符,Writer是字符输入流,用于向某个指标设施写入字符。引见了Reader类的方法,经过Reader类实例来成功读取文本文件内容,Writer类是一个写入字符流的形象类。宿愿大家经过本文的学习,对你有所协助!

我是Java进阶者,宿愿大家经过本文的学习,对你有所协助!欢迎大家加我微信,有疑问可以随时帮大家处置噢,交个好友也好哇~

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://clwxseo.com/wangluoyouhua/8750.html

猜你喜欢

热门资讯

关注我们

微信公众号