字符流简介

mac2024-06-06  53

//1. 创建字符输出流,参数是字节输出流,传入要写入的文件,所关联文件若不存在,会自动创建; OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("a.txt")); //写入数据 //一次写一个字符 out.write('你'); //一次写一个字符数组 char[] chars = {'a', 'b', 'c', 'd'}; out.write(chars); out.flush();//刷新 //一次写一个字符数组的一部分 out.write(chars,2,2); //一次写一个字符串 out.write("皮皮虾我们走,去找一个蓝朋友"); out.write("\r\n"); out.flush(); //一个写一个字符串的一部分 String str="皮皮虾我们走,去找一个蓝朋友"; out.write(str,str.indexOf("朋"),2);//传入写入的字符串,以及开始写的索引,和要写的长度; //字符流必须刷新一下 out.flush(); //刷新并关闭 out.close(); //也可以在创建字符输出流对象时,关联写入的文件,还可以指定编码表,如果不指定,则使用平台默认码表; OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("b.txt"), "GBK"); out.write("这是一行中文"); out.close(); //2. 创建字符输入流对象,所关联的文件如果不存在,就报错 InputStreamReader in = new InputStreamReader(new FileInputStream("e.txt")); int read = in.read(); //一次读取一个 字符,如果读取不到则返回 -1 System.out.println(read); in.close(); //3. 创建一个字符数组,充当缓冲区 InputStreamReader in = new InputStreamReader(new FileInputStream("a.txt")); //创建一个字符数组,充当缓冲区 char[] chars = new char[1024]; //一次读入的是一个字符数组的一部分,返回值是读取到有效字节个数 int len = in.read(chars,0,10); //将传入的字符数组的一部分打印 String s = String.valueOf(chars, 0, len); System.out.println(s); in.close();
最新回复(0)