IDEA执行main方法进行IO操作,输出到文件,中文乱码的问题解决

代码案例:
第一个:

    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
        Random random = new Random();
        bw.write(random.nextInt(10)+"这是什么情况?");
        bw.newLine();
        bw.write(random.nextInt(10)+"好害羞啊。。。");
        bw.flush();
        bw.close();
    }

效果如下:
在这里插入图片描述

第二个:

    public static void main(String[] args) throws FileNotFoundException {
        File toInfoFile =null;
        OutputStream osInfo = null;
        PrintStream psInfo = null;

        toInfoFile = new File("bug.log");
        osInfo = new FileOutputStream(toInfoFile, true);//true在原文件上追加
        psInfo = new PrintStream(osInfo, true);//true自动刷新

        psInfo.println("这是什么情况?");
    }

在这里插入图片描述
然后,网上找帖子改,各种该编码格式,都没用!

最后,自己拷贝Java文件到空文件夹,把文件改成ANSI格式
用javac编译,java Test 执行main,中文可以正常输出到文件

所以,就怀疑是IDEA工具编码Java文件问题,不是代码问题

于是,我打算看下IDEA中的class文件是否乱码导致的。
在这里插入图片描述
果然,IDEA工具给我编译的class就是乱码的。

解决办法:
第一种方法:
用maven重新install一次,查看class正常了,那么,执行的时候,就不乱码了!

第二种办法:
File | Settings | Build, Execution, Deployment | Compiler | Java Compiler
设置:-encoding utf-8
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值