字符流简介

//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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值