Java中使用native2ascii工具处理.properties文件
? 今天在學(xué)習(xí)訪問國(guó)際化消息時(shí),需要將提供中文的資源文件轉(zhuǎn)化為國(guó)際化資源文件,比如中文資源文件jubu.properties轉(zhuǎn)化為國(guó)際化資源文件jubu_zh_CN.properties,書上僅說了一句用,使用native2ascii處理(忍不住吐槽,我壓根就不知道這是什么鬼,更別提怎么轉(zhuǎn)換。)而且網(wǎng)上查了一天,很是郁悶,因此。在這里說一下。
一:修改編碼方式
? 首先,可能有部分人,遇到新建的xxx.properties文件無法寫入中文屬性:
比如我們?cè)趈ubu.properties 中寫入
loginPage=登錄界面 ? 他會(huì)顯示:loginPage=\u767b\u5f55\u754c\u9762
解決方案:
這是因?yàn)閑clipse的.properties文件,默認(rèn)的編碼方式是iso-8859-1.所以中文顯示有問題。按照下面的方式,把Default Encoding修改成UTF-8就可以了。
二:native2ascii工具處理.properties文件
然后我們開始轉(zhuǎn)換.properties文件.
我們的jubu.properties內(nèi)容如下
loginPage=登錄界面
username=用戶名
首先我們確定我們的.properties文件所在位置:
F:\JavaEE\workspace\OGNLDemo1\WebContent\WEB-INF\src
然后打開cmd以管理員身份運(yùn)行,找到相應(yīng)的src文件夾下:
然后輸入
這樣就可以將我們提供的中文資源文件轉(zhuǎn)換為國(guó)際化資源文件(編碼方式為UTF-8)并且命名為jubu_zh_CN.properties.
這里說一下:
native2ascii的命令行的命名格式:
native2ascii -[options] [inputfile [outputfile]]
說明:
-[options]:表示命令開關(guān),有兩個(gè)選項(xiàng)可供選擇
-reverse:將Unicode編碼轉(zhuǎn)為本地或者指定編碼,不指定編碼情況下,將轉(zhuǎn)為本地編碼。
-encoding encoding_name:轉(zhuǎn)換為指定編碼,encoding_name為編碼名稱。
[inputfile [outputfile]]
inputfile:表示輸入文件全名。
outputfile:輸出文件名。如果缺少此參數(shù),將輸出到控制臺(tái)。
?
再看我們的src文件夾下,文件已經(jīng)生成:
三:然后通過struts.xml配置文件加載國(guó)際化文件:
<constant name="struts.custom.i18n.resources" value="jubu"></constant> value指定國(guó)際化文件的baseName。四:Struts2訪問國(guó)際化資源文件的三種方式:
表單通過<s:text name=""/>訪問全局化文件,name對(duì)應(yīng)文件中的key。
Action中可以通過ActionSupport的getText()方法,方法接受一個(gè)name屬性,對(duì)應(yīng)國(guó)際化文件的key。
Label標(biāo)簽 可以指定key屬性 對(duì)應(yīng)文件的key屬性。
然后我們通過表單的<s:text name=""/>訪問全局化文件:
五:運(yùn)行結(jié)果:
我們可以看出,標(biāo)題,輸入框提醒已經(jīng)轉(zhuǎn)化為國(guó)際化資源的提示信息。
總結(jié)
以上是生活随笔為你收集整理的Java中使用native2ascii工具处理.properties文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker-compose 安装与基本
- 下一篇: java美元兑换,(Java实现) 美元