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