IO_处理流

InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流)

OutputStreamWriter:Writer的子类,可以将OutputStream(字节流)包装成Writer(字符流)

当处理纯文本数据时,字符流效率更高,但往往会被编码问题困扰。故可以将字节流转换成字符流,在转换时制定编码,让字符流不被编码问题困扰

InputStreamReader

@Test
    public void read() throws IOException {
        String line = null;
        //指定读取的编码格式 该格式与读取目标一致
        String CharSet = "GBK";
        String filePath = "E:\\t.txt";
        //创建字节流
        FileInputStream fileInputStream = new FileInputStream(filePath);
        //创建转换处理流
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,CharSet);
        //创建包装处理流
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

        while ((line = bufferedReader.readLine()) != null){
            System.out.println(line);
        }

        //关闭外层流
        bufferedReader.close();

        System.out.println("读取成功");
        System.out.println("读取的编码格式为:" + CharSet);
    }

OutputSreamWriter

@Test
    public void write() throws IOException {
        String data = "你好";//若使用英文 则会写入UTF-8
        //指定写入的编码格式
        String CharSet = "GBK";
        String filePath = "E:\\t.txt";
        //创建字节流
        FileOutputStream fileOutputStream = new FileOutputStream(filePath);
        //创建转换处理流
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream,CharSet);
        //创建包装处理流
        BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);

        bufferedWriter.write(data);

        //关闭外层流
        bufferedWriter.close();

        System.out.println("写入成功");
        System.out.println("写入的编码格式为:" + CharSet);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值