JAVA基础(字节流读写中文)

本文介绍了Java中使用字节流读写中文时可能遇到的问题及其解决方案。当使用字节流读取中文字符时,可能会出现半个中文字符导致的乱码问题。为解决此问题,需要将字符串转换为字节数组进行操作,例如在写入回车换行时使用write(" ".getBytes())。此外,还提供了一个实际操作案例。
摘要由CSDN通过智能技术生成

1,字节流读取中文

【1】问题

  • 字节流在读中文的时候有可能会读到半个中文,造成乱码

 

【2】解决

  • 字节流直接操作的字节,所以写出中文必须将字符串转换成字节数组

  • 写出回车换行 write("\r\n".getBytes());

 

2,案例

public class Demo6_Chinese {





    /**

     * @param args

     * * 字节流读取中文的问题

            * 字节流在读中文的时候有可能会读到半个中文,造成乱码

        * 字节流写出中文的问题

            * 字节流直接操作的字节,所以写出中文必须将字符串转换成字节数组

            * 写出回车换行 write("\r\n".getBytes());

     * @throws IOException

     */

    public static void main(String[] args) throws IOException {

        //demo1();

        FileOutputStream fos = new FileOutputStream("zzz.txt");

        fos.write("我读书少,你不要骗我".getBytes());

        fos.write("\r\n".getBytes());

        fos.close();

    }





    public static void demo1() throws FileNotFoundException, IOException {

        FileInputStream fis = new FileInputStream("yyy.txt");

        byte[] arr = new byte[4];

        int len;

        while((len = fis.read(arr)) != -1) {

            System.out.println(new String(arr,0,len));

        }

        

        fis.close();

    }





}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值