1、与FileInputStream字节流相对的是FileReader字符流,是reader的子类。构造方法为
2、与FileOutputStream字节流相对的是FileWriter字符流,是writer的子类。构造方法为
3、FileInputStream类以字节为单位读取文件,字节流不能直接操作Unicode字符,所以Java提供了字符流。
4、由于汉字在文件中占用两个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象,因为在Unicode字符中,一个汉字被看作是一个字符。
5、缓冲字符流BufferedReader和InputStreamReader类的构造方法
6、BufferedReader类只能从Reader对象读取数据。InputStreamReader类是将字节输入流转换成字符输入流的转换器。如标准输入System.in是一个InputStream类的对象,要将InputStream类的对象转换成Reader类的对象,需要用InputStreamReader类对象作为转换器。