如果要使用指定编码表时,必须使用转换流。FileReader fr = new FileReader("a.txt");
//操作a.txt的中的数据使用的本系统默认的GBK。操作a.txt的中的数据使用的也是本系统默认的GBK。
InputStreamReader isr = new InputStreamReader(newFileInputStream("a.txt"));这两句的代码的意义相同。
如果a.txt中的文件中的字符数据是通过utf-8的形式编码。那么在读取时,就必须指定编码表。那么转换流必须使用。
FileReader是InputStreamReader(转换流)的子类,子类高级在于:自动使用系统默认编码(无法手动自定),
如果文件是utf-8格式的,就必须手动指定编码,此时就必须用转换流了!! |