Java的输入输出流不乱码的解决

java的输入输出流

输入: InputStreamReader类和 FileReader类
输出:FileOutputStream类
对于输入的FileReader类的没有对中文的解决。
所有我写出了对文件txt格式的文档进行测试。直接上java代码:

package regex;

import org.junit.Test;

import java.io.*;
import java.util.List;
/*id name age address
* 1	wyf	32	合肥  --> 1,"wtf",32,"合肥"
* 统一的换成一定的格式的代码,不觉得很有意思吗?
* */
/**
 * @author lejun
 * @time Nov/4th/2019
 * */

public class Replace {
    @Test
    public void read() throws IOException {

//        in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk"));
        /**对输入流的gbk的使用才不会出现的乱码,要不然普通的FileRead是不行的.*/
        InputStreamReader reader = new InputStreamReader(new FileInputStream("C:\\Users\\lejun\\Desktop\\Character.txt"),"gbk");
        BufferedReader br = new BufferedReader(reader);
        String line;
        //网友推荐更加简洁的写法
        while ((line = br.readLine()) != null) {
            // 一次读入一行数据
            System.out.println(line);
        }
    }
    @Test
    public void Replace() throws IOException {
        String[] arrs = {
                "zhangsan,23,福建",
                "lisi,30,上海",
                "wangwu,43,北京",
                "laolin,21,重庆",
                "ximenqing,67,贵州"
        };
        //写入中文字符时解决中文乱码问题

        FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\lejun\\Desktop\\filein.txt"));
        OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
        BufferedWriter bw = new BufferedWriter(osw);

        for (String arr : arrs) {
            bw.write(arr+ "\r\n");//\r\n是一行一行的读入
        }

        //注意关闭的先后顺序,先打开的后关闭,后打开的先关闭
        bw.close();
        osw.close();
        fos.close();

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值