字符流与字节流
1、字符流
字符流自动允许我们逐字符读/写数据,有助于执行16位Unicode的输入和输出;它是以reader和writer结尾的。Java中字符流最常见的类是FileReader和FileWriter。在内部,FileReader使用FileInputStream;同样,FileWrite使用FileOutputStream。
2、字节流
Java中的字节流有助于执行8位字节的输入和输出操作;它以stream结尾。换句话说,它逐字节处理数据,适用于处理二进制文件等原始数据。字节流操作最常用的类是FileInputStream和FileOutputStream。FileInputStream有助于从源读取,而FileOutputStream有助于写入目标。
区别
1、定义不同;
2、结尾不同;
3、处理方式不同;
4、缓冲区不同;
5、编码方式不同。字节流默认不使用缓冲区,而字符流使用缓冲区。字节流采用ASCII编码,字符流采用unicode编码。
下面展示一些 内联代码片
。
package com.hg.day21.demo02;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
public class Demo02Reader {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("D:\\代码\\java\\com\\hg\\day21\\demo01\\a.txt");
char[] cs=new char[10];
int len=0;
while((len=fr.read(cs))!=-1)
{
System.out.println(len);
System.out.println(new String(cs));
}
}
}