Java代码中如何设置输出字符集为UTF-8

 更新时间:2023年05月25日 09:42:46   作者:默子要早睡.Histone  
这篇文章主要介绍了Java代码中设置输出字符集为UTF-8,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

今日无聊,来试试如何在 Java 代码中更改输出字符集。

一行代码设置输出字符集为UTF-8

import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        System.setOut(new PrintStream(System.out, true, StandardCharsets.UTF_8));
        System.out.println("Hello world!");
        System.out.println("请输入年份:");
        int year;
        year = new Scanner(System.in).nextInt();
        boolean isLeapYear = isLeapYear(year);
        System.out.println(isLeapYear);
    }
    /**
     * @param year 年份
     * @return 是否是闰年
     */
    static boolean isLeapYear(int year){
        if(year % 4 == 0 && year % 100 != 0){
            return true;
        }else return year % 400 == 0;
    }
}

其中我们要看的语句,其实只有一行

System.setOut(new PrintStream(System.out, true, StandardCharsets.UTF_8));

在设置Java程序的输出字符集为UTF-8。

System.setOut 是 Java标准库 中的一个静态方法,用于设置标准输出流。标准输出流是程序输出信息的默认位置,通常是控制台。

new PrintStream(System.out, true, StandardCharsets.UTF_8)创建了一个新的PrintStream对象。这个对象的构造函数接受三个参数:

  • System.out 表示这个流将要输出到控制台。
  • true 表示开启自动刷新,即在输出后立即刷新缓冲区。
  • StandardCharsets.UTF_8表示使用UTF-8字符集编码输出的字符。

总之,这一行代码的作用是将程序的输出字符集设置为UTF-8,使得程序能正确输出中文字符。

除此之外没有别的办法了吗?

答案当然是:有的。

其他办法

1.命令行中使用JVM参数:
可以在运行Java程序时,在命令行上使用
-Dfile.encoding=UTF-8来设置程序的输出字符集。

java -Dfile.encoding=UTF-8 Main

2.通过环境变量设置:
可以在运行程序之前设置环境变量file.encoding的值为UTF-8, 例如在linux中:

export file.encoding=UTF-8
java main

或者在windows中:

set file.encoding=UTF-8
java Main

3.设置编码格式:
你可以在程序中使用 -encoding UTF-8 选项来告诉编译器使用 UTF-8 编码格式来编译你的代码。例如:

javac -encoding UTF-8 Main.java

这样编译后的字节码文件就会使用UTF-8编码格式。

以后遇到中文乱码就不用怕啦,如果遇到了中文乱码问题,可以使用上述方法来解决。设置程序的输出字符集为UTF-8可以确保程序能正确输出中文字符。

另外,还有一些其他的解决中文乱码问题的方法,比如在文件头部添加UTF-8编码声明,或者在文本编辑器中打开文件时选择UTF-8编码

到此这篇关于Java代码中设置输出字符集为UTF-8的文章就介绍到这了,更多相关Java输出字符集为UTF-8内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Cloud中各组件超时总结

    Spring Cloud中各组件超时总结

    在大家学习spring cloud的时候组件是必不可少的一部分,下面这篇文章主要给大家介绍了关于Spring Cloud中各组件超时的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • 详解java中的Collections类

    详解java中的Collections类

    这篇文章主要为大家详细介绍了java中的Collections类,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Java 选择排序、插入排序、希尔算法实例详解

    Java 选择排序、插入排序、希尔算法实例详解

    这篇文章主要介绍了Java 选择排序、插入排序、希尔算法实例详解,需要的朋友可以参考下
    2017-05-05
  • Springboot通过Scheduled实现定时任务代码

    Springboot通过Scheduled实现定时任务代码

    这篇文章主要介绍了Springboot通过Scheduled实现定时任务代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java如何将控制台输出日志写入到指定文件中

    java如何将控制台输出日志写入到指定文件中

    这篇文章主要介绍了java如何将控制台输出日志写入到指定文件中问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Springboot集成graylog及配置过程解析

    Springboot集成graylog及配置过程解析

    这篇文章主要介绍了Springboot集成graylog及配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java简单计算圆周率完整示例

    Java简单计算圆周率完整示例

    这篇文章主要介绍了Java简单计算圆周率,结合完整实例形式分析了Java计算圆周率的原理与操作技巧,代码备有较为详尽的注释便于理解,需要的朋友可以参考下
    2018-05-05
  • SpringBoot操作Jedis案例代码

    SpringBoot操作Jedis案例代码

    这篇文章主要介绍了SpringBoot操作Jedis案例代码,代码部分包括pom依赖、配置相关参数、JedisPool的设置,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 优化MyBatis配置文件中的配置详解

    优化MyBatis配置文件中的配置详解

    这篇文章主要介绍了优化MyBatis配置文件中的配置详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java反射机制的学习总结

    Java反射机制的学习总结

    总的来说,java反射机制是一个很好用的东西,用它可以解决很多死的东西,因为反射机制的灵活行很大,有了他,我们就不要花太多的时间来写操做数据库的代码了,而是方法更多的时间在项目的逻辑功能上,这个可以很大的减少开发时间,而且代码的可读性好
    2013-09-09

最新评论