Java

发布时间:2024-12-16 02:25
java 的执行方式: java Test.class jave -jar Test.jar Jar Test.app

以不同的方式来执行,从控制台中得到的程序输出也不一致
比如说,刚刚在 eclipse 中还能正常打印出来的汉字,在打成 jar 包以后,
双击该 jar 文件以 Jar Test.app 的方式来启动,打印出来的文字就成了乱码了。
毕竟写出来的 java 程序最终还是要打成 Jar 包来使用的,总不能每次都在 eclipse 中启动吧?

只有在启动 java 程序前通过传递参数来更改才有效,程序一经启动就无法再更改了。
这样的话,也就只有通过传递 jvm 参数的方式来做默认编码的变更了:
其一,写一个带 -Dfile.encoding=UTF-8 参数的脚本文件来启动;
其二,用 Jar Bundler.app 打包成 app,效率应该不如第一种方案。
原理其实都差不多,都只是将更改 jvm 默认编码的操作封装了起来,执行时就不用再手动键入了。

搜索 java 源码,只能找到 4 个文件中包含 file.encoding 的文件,
也就是说,只有四个文件调用了 file.encoding 这个属性。
在 java.nio.charset 包中的 Charset.java 中,这段话的意思说的很明确了。
简单说就是默认字符集是在 java 虚拟机启动时决定的,
依赖于 java 虚拟机所在的操作系统的区域以及字符集。
代码中可以看到,默认字符集就是从 file.encoding 这个属性中获取的。

posted on 2017-09-02 16:21  cag2050  阅读(586)  评论()  编辑  收藏  举报

网址:Java http://c.mxgxt.com/news/view/206584

相关内容

Java编程视角下的艺人形象:如何用代码塑造独特风采
【Java】大明星类会唱跳rap,如何使用动态代理为其增强功能,扩展类的行为今天学习Java的动态代理,我们来探讨动态代
java使用google开源工具实现图片压缩
使用迪米特法则完成明星与经纪人的关系实例Java实现 什么是迪米特法则
【艺人新媒体运营与管理实习生招聘要求】
编程就业明星
【明星名人作者运营招聘要求】
剖析C语言中a=a+++++a的无聊问题
文章不存在或已删除,返回看看别的文章吧
连云港噗着弘技术有限公司

随便看看