(JAVA)-IO流-转换流

本文介绍了JavaIO流中的转换流,包括InputStreamReader将字节流转换为字符流和OutputStreamWriter将字符流转换为字节流的用法,以及JDK11后如何指定编码规则读写文件。
摘要由CSDN通过智能技术生成

转换流是能将字符流和字节流进行转换的一种方式

之前的文章中讲过,字符流就是字节流+特定的编码方式进行读取数据

假设我们想要将字节流以指定的编码方式转换成字符流,这时候就要用到转换流

在Java IO流中提供了两个转换流:InputStreamReader 和 OutputStreamWriter,这两个类都属于字符流。其中InputStreamReader将字节输入流转为字符输入流,继承自Reader。OutputStreamWriter是将字符输出流转为字节输出流,继承自Writer。

InputStreamReader

构造方法,参数分别指定的是一个基本流和字符集编码规则

     InputStreamReader isd=new InputStreamReader(new FileInputStream("D:\\aaa\\ddd.txt"),"GBK");
        int ch;
        while((ch= isd.read())!=-1)
        {
            System.out.println((char)ch);
        }
    }

JDK11之后FIleRead方法也能指定编码规则进行读取数据。

OutputStreamWriter

它也是一个字符流,能使用跟字符流一样的方法

  OutputStreamWriter osd=new OutputStreamWriter(new FileOutputStream("D:\\aaa\\eee.txt"),"GBK");
        OutputStreamWriter osd1=new OutputStreamWriter(new FileOutputStream("D:\\aaa\\eee.txt",true),"utf-8");

        osd.write("你好你好");
        osd1.write("你好你好");
      osd.close();
      osd1.close();
    }

JDK11之后FIleWriter方法也能指定编码规则进行读取数据。

不过此处编码指定不能用字符串,要用静态方法获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值