A-A+

file.encoding的简单分析

2019年03月10日 技术 暂无评论 阅读 46 次

网络上关于“file.encoding”的分析简直乱七八糟,大部分的观点是与入口函数所在文件的编码有关系。今天就这个问题,简单的分析一下,做一个小例子。

首先我们需要一个很简单的入口函数:

public static void main(String[] args) {
    System.out.println("file.encoding:"+System.getProperty("file.encoding"));
}

在IDEA中,我这里的文件默认编码为"UTF-8":

我们运行一下,看看输出的结果:

然后,将此文件的编码改为"GBK":

我们再运行一下,看看输出结果有没有改变:

我们发现结果根本毫无改变,这样网络上的观点(与入口函数所在文件的编码有关系)是错误的。

那么,file.encoding的结果与什么有关系呢?

我们尝试着增加JVM参数"-Dfile.encoding=utf-8"来试验一下:

运行一下,看一下最终结果:

所以,最后的结论是:file.encoding与入口函数所在文件的编码没有关系,而与运行时设置的文件编码有关系。

觉的不错?可以关注我的公众号↑↑↑
哼哼的泰迪熊

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: