標籤:java 預設字元集
1.直接上代碼
import java.nio.charset.Charset;/** * 擷取當前虛擬機器的預設字元集 Charset.defaultCharset() 或 System.getProperty("file.encoding") * Charset.defaultCharset()底層代碼也是通過調用 System.getProperty("file.encoding") 實現 * <p> * 1.只有通過傳遞 jvm 參數的方式來預設編碼(jvm啟動時生效,不可更改) == 後續變更無效 <br/> * 2.此系統屬性正確叫法:來自於java.nio.charset.Charset.defaultCharset()注釋 <br/> * 英文:the default charset of this Java virtual machine <br/> * 中文:此 Java 虛擬機器的預設 charset <br/> * 3.jvm參數指定方式為:java -Dfile.encoding=xxx * 4.如果是在eclipse中運行main方法,設定參見文中圖2。 * </p> * * @author yuxiangtong * */public class Test { public static void main(String[] args) { String encoding = System.getProperty("file.encoding"); System.out.println("file.encoding :" + encoding); // UTF-8 System.out.println( "此 Java 虛擬機器的預設 charset :" + Charset.defaultCharset().name()); // UTF-8 /* 嘗試重設 file.encoding */ encoding = System.setProperty("file.encoding", "GBK"); /* 重設失敗,依然是預設的UTF-8 */ System.out.println(encoding); // UTF-8 /* 嘗試擷取測試屬性 */ System.out.println(System.getProperty("testkey")); // null System.setProperty("testkey", "張三"); System.out.println(System.getProperty("testkey")); // 張三 System.out.println("張三".getBytes().length); // 6 }}
2. 圖2如下
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/8B/37/wKioL1hHcfKTbHMFAADDoTjAXb0750.png" title="運行測試.png" alt="wKioL1hHcfKTbHMFAADDoTjAXb0750.png" />
3.DOS下命令列提示資訊:
C:\Users>java -versionjava version "1.8.0_65"Java(TM) SE Runtime Environment (build 1.8.0_65-b17)Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)C:\Users>java用法: java [-options] class [args...] (執行類) 或 java [-options] -jar jarfile [args...] (執行 jar 檔案)其中選項包括: -d32 使用 32 位元據模型 (如果可用) -d64 使用 64 位元據模型 (如果可用) -server 選擇 "server" VM 預設 VM 是 server. -cp <目錄和 zip/jar 檔案的類搜尋路徑> -classpath <目錄和 zip/jar 檔案的類搜尋路徑> 用 ; 分隔的目錄, JAR 檔案 和 ZIP 檔案列表, 用於搜尋類檔案。 -D<名稱>=<值> 設定系統屬性 -verbose:[class|gc|jni] 啟用詳細輸出 -version 輸出產品版本並退出 -version:<值> 警告: 此功能已淘汰, 將在 未來發行版中刪除。 需要指定的版本才能運行 -showversion 輸出產品版本並繼續 -jre-restrict-search | -no-jre-restrict-search 警告: 此功能已淘汰, 將在 未來發行版中刪除。 在版本搜尋中包括/排除使用者專用 JRE -? -help 輸出此協助訊息 -X 輸出非標準選項的協助 -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] 按指定的粒度啟用斷言 -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] 禁用具有指定粒度的斷言 -esa | -enablesystemassertions 啟用系統斷言 -dsa | -disablesystemassertions 禁用系統斷言 -agentlib:<libname>[=<選項>] 載入本機代理庫 <libname>, 例如 -agentlib:hprof 另請參閱 -agentlib:jdwp=help 和 -agentlib:hprof=help -agentpath:<pathname>[=<選項>] 按完整路徑名載入本機代理庫 -javaagent:<jarpath>[=<選項>] 載入 Java 程式設計語言代理, 請參閱 java.lang.instrument -splash:<imagepath> 使用指定的映像顯示啟動螢幕有關詳細資料, 請參閱 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
本文出自 “我的技術部落格” 部落格,請務必保留此出處http://programmer.blog.51cto.com/2859493/1880248
Java擷取預設字元集-知識梳理