file.encoding到底指的是什么呢?

转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50918506
- 《Java利用System.getProperty(“file.encoding”)获取编码分析》
- 《Linux中的特殊文件-/dev/zero》
- 《Linux中的黑洞(black hole)-/dev/null》
1.0 背景
System.out.println(System.getProperty("file.encoding"));
以前一直以为file.encoding的编码就是系统的编码,直到最近碰见一个怪异的情况:WEB工程中通过上述代码打印出来的编码是GB18030,而登录Linux服务器执行locale或者vi /etc/sysconfig/i18n查出来的编码是UTF-8,竟然两者不一致,一度怀疑是不是服务器编码变了,引发了这篇文章的思考。
2.0 file.encoding编码是什么
file.encoding的值保存的是每个程序的main入口的那个java文件的保存编码,是.java文件的编码。
以下两种方式查验:
1、点击java文件–>属性–>text file encoding(other的值),使用eclipse 编译器,我查看的这个类IDE显示的是UTF-8编码。
2、通过运行java类来获取该编码。
public static void main(String[] args){
System.out.println(System.getProperty("file.encoding"));
}
运行结果如下,图中显示编码为UTF-8,说明和IDE中显示的一致:
如果把这个文件的编码改成ISO-8859-1,看看显示的是什么编码?
上图中还是原来的那个java类,只不过编码类型改成了ISO-8859-1,记住我的本地机器的编码为UTF-8,看看其运行结果:
结果仍然是ISO-8859-1,可见file.encoding获取的仅仅是main入口函数的文件编码,并非是系统编码。
3.0 file.encoding编码是唯一的么
是不是每个java类型都有一个这个编码,下面我们测试一下,分别有两个类:
Test.java 采用ISO-8859-1文件编码:
public class Test {
public static void printEncoding(){
System.out.println(System.getProperty("file.encoding"));
}
}
FileUpload.java 采用UTF-8文件编码:
public class FileUpload {
public static void main(String[] args){
System.out.println(System.getProperty("file.encoding"));
Test.printEncoding();
}
}
预想,应该输出:UTF-8和ISO-8859-1。
实际输出:
UTF-8
UTF-8
从实际输出可以看出,file.encoding是唯一的,与main入口函数的java类文件编码保持一致。
http://blog.csdn.net/loongshawn/article/details/50918506
file.encoding到底指的是什么呢?的更多相关文章
- 系统变量file.encoding对Java的运行影响有多大?(转)good
这个话题来自: Nutz的issue 361 在考虑这个issue时, 我一直倾向于使用系统变量file.encoding来改变JVM的默认编码. 今天,我想到, 这个系统变量,对JVM的影响到底有多 ...
- eclipse的使用-------Text File Encoding没有GBK选项的设置
eclipse的使用-------Text File Encoding没有GBK选项的设置 2013-12-25 09:48:06 标签:java myeclipse使用 有一个项目是使用GBK编码的 ...
- BSP、PSP到底指什么?
/************************************************************************* * BSP.PSP到底指什么? * 说明: * B ...
- readAsDataURL(file) & readAsText(file, encoding)
readAsDataURL(file)会把文件内容转换为data类型的URL: data:text/plain;base64,b3JkZXItaWQJb3JkZXItaXRlbS1p... 这种d ...
- http协议无状态中的 "状态" 到底指的是什么?!
引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无连接的]就无法理解了:无状态的[状态]到底指的是什么?! 找了很多资料不仅没有发现有一针见血正面回答这个问题的, ...
- Android studio 配置file encoding 无效,中文乱码解决办法
通过配置Android studio 配置file encoding 无效,中文乱码,问题出现在java编译的时候jack采用了默认编码(中文windows默认的GBK编码)而乱码,所以不管更改bui ...
- Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8
一切都是windows的控制台默认编码GBK问题 情景: 使用jenkins构建,console 输出的中文乱码.代码编码格式是utf-8,因为Jenkins会默认读取当前系统的编码格式,导致构建日志 ...
- jenkins使用slave报编码错误[WARNING] File encoding has not been set, using platform encoding ANSI_X3.4-1968, i.e. build is platform dependent!
jenkins:master-slave 模式: master编码配置: slave编码配置: 可以看出master 和 slave的配置是一样的,但是当项目在slave上执行的时候,偶尔会报如下错误 ...
- classpath到底指的哪里
之前一直对classpath不太明白到底指的哪里,今天研究了一下,做个总结.. classpath顾名思义就是指类路径,但是这样解释可能还是不明白,这里拿一个SpringBoot应用编译后生成的tar ...
随机推荐
- ZOJ 1698 (最大流入门)
Power NetworkTime Limit:5000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu SubmitStat ...
- Ubuntu 用 pptp 建立 vpn 服务
1.下载pptp sudo apt-get install pptpd 2.配置pptp 须要改动配置下面的文件: pptpd.conf文件:配置链接后的主机ip和能够分配的内存范围 vi /etc/ ...
- POJ训练计划1459_Power Network(网络流最大流/Dinic)
解题报告 这题建模实在是好建.,,好贱.., 给前向星给跪了,纯dinic的前向星居然TLE,sad.,,回头看看优化,.. 矩阵跑过了.2A,sad,,, /******************** ...
- VS2013 RC 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral.........
微软发布了vs2013的RC版本,更新了自己机器上的vs,在创建项目过程中,发现出现如题的相关错误,查了相关msdn的资料,才了解到vs已经全面切换到使用NuGet这个第三方开源工具来管理项目包和引用 ...
- OC KVC总结
在iOS开发中,我们一般使用set方法或者点语法来修改对象的属性值,比如说 stu.age = 9 与 [stu setAge:9]. KVC(key value coding)键值编码,这是一种间接 ...
- WPF之DataGrid应用(转)
原文:http://blog.csdn.net/sanjiawan/article/details/6785394 前几天打算尝试下DataGrid的用法,起初以为应该很简单,可后来被各种使用方法和功 ...
- HTML,JAVASCRIPT代码美化demo
看见别人的博客里面的源码展示十分漂亮,一时兴起,就自己做了个. 当然,网上已经有别人做好的非常完善的codemirror.highlight.prettify.而我在写自己的这个小demo之前呢,也没 ...
- 原生js实现的轮播图,易用+可多用
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)
1.使用Ueditor编辑器,插入代码后,显示的时候高亮显示,需要调用Ueditor中的第三方插件third-party中的SyntaxHighlighter 调用方法: 引入CSS和JS文件,并调用 ...
- [LeetCode]题解(python):123-Best Time to Buy and Sell Stock III
题目来源: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/ 题意分析: 和上题类似,array[i]代表第i天物品 ...