【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,使得程序能正确输出中文字符。
除此之外没有别的办法了吗?
答案当然是:有的。
其他办法
- 命令行中使用JVM参数:
可以在运行Java程序时,在命令行上使用
-Dfile.encoding=UTF-8
来设置程序的输出字符集。
java -Dfile.encoding=UTF-8 Main
- 通过环境变量设置:
可以在运行程序之前设置环境变量file.encoding的值为UTF-8, 例如在linux中:
export file.encoding=UTF-8
java main
或者在windows中:
set file.encoding=UTF-8
java Main
- 设置编码格式:
你可以在程序中使用 -encoding UTF-8 选项来告诉编译器使用 UTF-8 编码格式来编译你的代码。例如:
javac -encoding UTF-8 Main.java
这样编译后的字节码文件就会使用UTF-8编码格式。
以后遇到中文乱码就不用怕啦,如果遇到了中文乱码问题,可以使用上述方法来解决。设置程序的输出字符集为UTF-8可以确保程序能正确输出中文字符。
另外,还有一些其他的解决中文乱码问题的方法,比如在文件头部添加UTF-8编码声明,或者在文本编辑器中打开文件时选择UTF-8编码。
关注默子,无限进步!
【Java】在代码中设置输出字符集为UTF-8相关推荐
- Android如何在java代码中设置margin
Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...
- java.library.path属性在代码中设置不生效问题
http://www.blogjava.net/gembin/archive/2008/10/29/237377.html from http://daimojingdeyu.blogbus.com/ ...
- android中在java代码中设置Button按钮的背景颜色
android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...
- 详解Spring中的CharacterEncodingFilter--forceEncoding为true在java代码中设置失效--html设置编码无效...
在项目中有很多让人头疼的问题,其中,编码问题位列其一,那么在Spring框架中是如何解决从页面传来的字符串的编码问题的呢?下面我们来看看Spring框架给我们提供过滤器CharacterEncodin ...
- android 动态设置margin,android 代码中设置margin
场景:Android怎么在java代码中设置margin Android如何在java代码中设置margin 原创帖,转发请注明出处:http://thierry-xing.iteye.com/blo ...
- 1、代码中设置编码、编辑器中设置Python的编码
1Python中文编码 1.1代码中设置编码 Python中默认的编码格式是ASCII格式,在没有修改编码格式时无法正确打印汉字,所以在读取中文的时候会报错. 解决办法为只要在文件开头加入 # -- ...
- Android在代码中设置drawableLeft(Right/Top/Bottom)
根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为: android: ...
- 如何在 Java 应用程序中设置 HicariCP 连接池
在本教程中,我们将介绍 HikariCP 并展示如何在 Java 应用程序中设置 HicariCP 连接池.在我们的应用程序中,我们向 MySQL 数据库发出请求. HikariCP是可靠的高性能 J ...
- android 设置字体大小和不同颜色,Android代码中设置字体大小,字体颜色,显示两种颜色.倒计时效果...
Android代码中设置字体大小,字体颜色,显示两种颜色 在xml文件中字体大小用的像素 android:id="@+id/uppaid_time" android:layout_ ...
最新文章
- 新浪程序员加班改bug,竟错失77万年会大奖
- Eclipse下svn的创建分支/合并/切换使用
- 一文读懂全球半导体市场
- Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】
- 初一模拟赛总结(6.6 my brother高考前一天,加油!(。・`ω´・。))
- linux查看文件有多少行
- Vue框架里使用Swiper - 安装篇
- html清除require报错,javascript - requirejs加载报错问题?
- java与sql心得体会_学习心得
- 计算机应用能力考试初级,河北省职称计算机应用能力考试初级
- 【手写数字识别】基于matlab GUI BP神经网络手写数字识别系统【含Matlab源码 1639期】
- 阿里巴巴矢量图标库的引入——symbol类型的使用——阿里图标组件封装
- 计算机 数据挖掘 知识,计算机软考考试必备知识点:数据挖掘
- 第三章-2 MSF扫描漏洞模块
- 【全套攻略】关于建站、服务器、云虚拟主机你想知道的都在这里!
- java 鼠标动眼睛动_java实现眼睛跟着鼠标转动的跟踪眼代码
- php 保留小数点两位不四舍五入 bcdiv()
- Word美化代码块样式
- Java Future接口、Future模式理解
- UBTC在2019,潮水褪去后的价值凸显