java IO流详解

136 阅读1分钟

什么是流

流是一组有序的数据序列,分为输入流和输出流。

java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在javal.io包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流);而所有输出类都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。

1字节byte=8比特bit

在ASCII码编码方案中,一个英文字符占用一个字节,一个汉字字符占用两个字节的空间;

在Unicode编码方案中,一个英文字符或一个汉字字符都占用两个字节的空间;

在UTF-8编码方案中,一个英文字符占用一个字节,一个汉字字符占用三个字节的空间。

java中的字符使用Unicode编码,是双字节的。

字节流和字符流区别?

字节流主要用来处理字节或二进制对象, 不适合用来处理字符文本。 字符流(一个字符占两个字节)主要用来处理字符或字符串。

IO流的分类

20190917154143553.png

20190917154231427.png

常用字节流

FileInputStream

  • read()

FileOutputSrream

  • write()

BufferedInputStream

BufferedOutputStream

  • flush()

常用字符流

FileReader

  • read()

FileWriter

  • write()

BufferedReader

BufferedWriter

  • flush()

PrintWriter

  • println()

参考文章:blog.csdn.net/LVEfrist/ar…