java locale是什么,讓我們一起了解一下?
locale命令是將有關當前語言環境或全部公共語言環境的信息寫到標準輸出上,如果使用了語言環境類別名而沒有使用標志來指定locale命令,那么 locale命令會寫出由Name參數指定的語言環境類別中的所有關鍵字的值。
Java為什么要設定locale?雖然設定locale與你能否瀏覽中文的網頁沒有直接的關系,即便你把locale設置成en_US.ISO-8859-1這樣一個標準的英文locale你照樣可以瀏覽中文的網頁,只要你的系統里面有相應的字符集(這個都不一定需要)和合適的字體(如simsun),瀏覽器就可以把網頁翻譯成中文給你看。具體的過程是網絡把網頁傳送到你的機器上之后,瀏覽器會判斷相應的編碼的字符集,根據網頁采用的字符集,去字體庫里面找合適的字體,然后由文字渲染工具把相應的文字在屏幕上顯示出來。?
但是為了讓你的Linux能夠輸入中文,就需要把系統的locale設定成中文的(嚴格說來是locale中的語言類別LC_CTYPE ),例如zh_CN.GB2312、zh_CN.GB18030或者zh_CN.UTF-8。很多人都不明白這些古里古怪的表達方式。但是只需要知道,這是locale的表達方式就可以了。?
實戰操作:
下面通過示例演示在Date中使用Locale的,參考代碼如下(LocaleTest.java):
import?java.util.Locale; import?java.util.Date; import?java.util.Calendar; import?java.text.SimpleDateFormat; import?java.text.DateFormat; /** *?Locale?的測試程序 */ public?class?LocaleTest?{ public?static?void?main(String[]?args)?{ //?2種不同的Locale的創建方法 testDiffDateLocales(); //?顯示所有的Locales testAllLocales(); } /** ??*?2種不同的Locale的創建方法 ??*/ private?static?void?testDiffDateLocales()?{ //?date為2013-09-19?14:22:30 Date?date?=?new?Date(113,?8,?19,?14,?22,?30); //?創建“簡體中文”的Locale Locale?localeCN?=?Locale.SIMPLIFIED_CHINESE; //?創建“英文/美國”的Locale Locale?localeUS?=?new?Locale("en",?"US"); //?獲取“簡體中文”對應的date字符串 String?cn?=?DateFormat.getDateInstance(DateFormat.MEDIUM,?localeCN).format(date); //?獲取“英文/美國”對應的date字符串 String?us?=?DateFormat.getDateInstance(DateFormat.MEDIUM,?localeUS).format(date); System.out.printf("cn=%s\nus=%s\n",?cn,?us); } /** ??*?顯示所有的Locales ??*/ private?static?void?testAllLocales()?{ Locale[]?ls?=?Locale.getAvailableLocales(); System.out.print("All?Locales:?"); for?(Locale?locale:ls)?{ System.out.printf(locale+",?"); } System.out.println(); } }
以上就是小編今天的分享了,希望可以幫助到大家。