java基础 流

Posted 人生如逆旅,我亦是行人。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础 流相关的知识,希望对你有一定的参考价值。

 

流是什么

  流在Java中是指计算中流动的缓冲区

流的分类

字符流和字节流的主要区别:

  • 字节流读取的时候,读到一个字节就返回一个字节;字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回
  • 字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流

字节流:

字节输入流类

FileInputStream:此类用于从本地文件系统中读取文件内容。
BufferedInputStream:此类本身带有一个缓冲区,在读取数据时,先放到缓冲区中,可以减少对数据源的访问,提高运行的效率。
DataInputStream:该类提供一些基于多字节读取方法,从而可以读取基本数据类型的数据

字节输出流类

FileOutputStream:此类用于从本地文件系统的文件中写入数据。
BufferedOutputStream:此类本身带有一个缓冲区,在写入数据时,先放到缓冲区中,实现缓冲的数据流。
DataOutputStream(OutputStream out):创建一个新的数据输出流,将数据写入指定基础输出流。

字符流:

FileReader:用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。
BufferedReader:类是Reader类的子类,为Reader对象添加字符缓冲器,为数据输入分配内存存储空间,存取数据更为有效。
FileWriter:用来写入字符文件的便捷类,可用于写入字符流。
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

以上是关于java基础 流的主要内容,如果未能解决你的问题,请参考以下文章

Java : java基础 IO流

java基础09-io流

《java基础知识》Java IO流详解

java基础——IO流

java基础之IO流

Java 基础 IO流(转换流,缓冲)