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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA设计模式零基础解析之单例模式的八种方式

    JAVA设计模式零基础解析之单例模式的八种方式

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
    2021-10-10
  • 如何使用GSON解析JSON数据

    如何使用GSON解析JSON数据

    这篇文章主要介绍了如何使用GSON解析JSON数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 如何使用IDEA2022.1 创建Spring Boot项目

    如何使用IDEA2022.1 创建Spring Boot项目

    这篇文章主要介绍了如何使用IDEA2022.1 创建Spring Boot项目,大家在使用idea开发工具时发现给以往的版本略微的不同,细心的小编在此记录下,需要的朋友可以参考下
    2022-08-08
  • 教你java面试时如何聊单例模式

    教你java面试时如何聊单例模式

    这篇文章主要给大家介绍了关于Java单例模式推荐的几种模式,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2021-06-06
  • Java那些鲜为人知的关键字volatile详析

    Java那些鲜为人知的关键字volatile详析

    这篇文章主要给大家介绍了关于Java那些鲜为人知的关键字volatile的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java中的Excel框架使用详解

    Java中的Excel框架使用详解

    这篇文章主要介绍了Java中的Excel框架使用详解,Java解析、生成Excel比较有名的框架有Apache poi、jxl,但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,需要的朋友可以参考下
    2023-11-11
  • MyBatis中的SQL映射文件如何配置参数映射和使用方法

    MyBatis中的SQL映射文件如何配置参数映射和使用方法

    MyBatis 是一种开源的 Java 持久化框架,它可以自动将数据库中的数据映射到 Java 对象中,并且使得 Java 对象可以非常方便地存储到数据库中,本文将介绍 MyBatis 中 SQL 映射文件的参数映射配置和使用方法,需要的朋友可以参考下
    2023-07-07
  • Springmvc异常处理器及拦截器实现代码

    Springmvc异常处理器及拦截器实现代码

    这篇文章主要介绍了Springmvc异常处理器及拦截器实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • java实现发送手机短信

    java实现发送手机短信

    这篇文章主要介绍了java实现发送手机短信,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Spring框架实现依赖注入的原理

    Spring框架实现依赖注入的原理

    依赖注入是由“依赖”和“注入”两个词汇组合而成,那么我们再一次顺藤摸瓜,分别分析这两个词语,这篇文章主要介绍了Spring DI依赖注入详解,需要的朋友可以参考下
    2023-04-04

最新评论