什么是流
流是一组有序的数据序列,分为输入流和输出流。
java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在javal.io包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流);而所有输出类都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。
1字节byte=8比特bit
在ASCII码编码方案中,一个英文字符占用一个字节,一个汉字字符占用两个字节的空间;
在Unicode编码方案中,一个英文字符或一个汉字字符都占用两个字节的空间;
在UTF-8编码方案中,一个英文字符占用一个字节,一个汉字字符占用三个字节的空间。
java中的字符使用Unicode编码,是双字节的。
字节流和字符流区别?
字节流主要用来处理字节或二进制对象, 不适合用来处理字符文本。 字符流(一个字符占两个字节)主要用来处理字符或字符串。
IO流的分类
常用字节流
FileInputStream
- read()
FileOutputSrream
- write()
BufferedInputStream
BufferedOutputStream
- flush()
常用字符流
FileReader
- read()
FileWriter
- write()
BufferedReader
BufferedWriter
- flush()
PrintWriter
- println()