转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化我们的书写,转换流提供了对应的子类。
|
|
|
|
// 这两个类继承 OutputStreamWriter 类,所以成员方法还是和前面的一样
|
FileReader(FileDescriptor fd) ;在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 |
FileReader(String fileName) ;在给定从中读取数据的文件名的情况下创建一个新 FileReader。 |
public static void main(String[] args) throws Exception {
// InputStreamReader isr = new InputStreamReader(new FileInputStream("1.txt"),"utf-8");
// OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("2.txt"),"utf-8");
//和上面是一样的,如果要指定字符集就必须用上面的
/* FileWriter fw = new FileWriter("3.txt"); //不用告诉是什么编码,都是默认本地编码;
fw.write("你好,昆明"); //继承OutputStreamWriter类的方法
fw.write('中');
char[] ch = {'物','联','网','实','验','室'};
fw.write(ch);
fw.write(ch, 2, 3);
fw.close();*/
|
//InputStreamReader isr = new InputStreamReader(new FileInputStream("3.txt"));
FileReader fileReader = new FileReader("3.txt");
int read = fileReader.read(); //读一个
System.out.println("read(): "+(char)read);
char[] ch1 = new char[10];
fileReader.read(ch1);
System.out.println(new String(ch1));
fileReader.read(ch1, 0, 5); //光标在上次位置,接着往下读
System.out.println(new String(ch1));
}
}
|