- PR -

native2asciiを使用しないでpropertiesファイルから日本語を取得

投稿者投稿内容
siggy
常連さん
会議室デビュー日: 2002/08/14
投稿数: 23
投稿日時: 2005-12-21 10:53
JRE環境しかないノードで、propertiesファイルに日本語をを利用したいのです。
native2asciiはSDKにしかないので困っています。
propertiesファイルに記述してある日本語をプログラム内部でUnicode変換して取得ことは可能なのでしょうか。

ご教示お願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-12-21 11:35
JRE 上でも java.util.Properties で読み書きすれば特に言語を意識する必要ないです。
henachoco
常連さん
会議室デビュー日: 2005/11/21
投稿数: 29
お住まい・勤務地: 新ハンドル:t_yamo
投稿日時: 2005-12-21 18:32
引用:

インギさんの書き込み (2005-12-21 11:35) より:
JRE 上でも java.util.Properties で読み書きすれば特に言語を意識する必要ないです。



非XML形式のときはISO8859-1限定だったような気がします。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html
私は「ISO8859-1以外で記された非XML形式のファイルはプロパティではない」という扱いになると認識しています(認識違いかも)。

お使いの環境が「Java SE 5.0以降」かつ「プロパティはXML形式でも可」であればXMLにしてしまうのが一番簡単だと思います。
上記の条件が満たせないのであれば、自前で読み込み処理を書いてあげることになるかと思います。

#siggyさんの投稿を読み間違えてるかもしれないので追記
#要件は『非ISO8859-1の文字コードで記された「aaa=bbb」形式の
#ファイルをそのままプロパティファイルとして読み込みたい』と
#いうので宜しいですよね?

[ メッセージ編集済み 編集者: henachoco 編集日時 2005-12-21 18:38 ]
siggy
常連さん
会議室デビュー日: 2002/08/14
投稿数: 23
投稿日時: 2005-12-21 19:56
siggyです。
皆さん、ご回答ありがとうございます。

>#siggyさんの投稿を読み間違えてるかもしれないので追記
>#要件は『非ISO8859-1の文字コードで記された「aaa=bbb」形式の
>#ファイルをそのままプロパティファイルとして読み込みたい』と
>#いうので宜しいですよね?

詳細な説明が足りず、申し訳ありませんでした。
上記の内容どおりです。
よろしくお願いします。
ハム★
会議室デビュー日: 2002/12/19
投稿数: 12
投稿日時: 2005-12-22 00:55
ResourceBundleを利用して
private static ResourceBundle bundle = ResourceBundle.getBundle( "filename" );

String result = null;
result = bundle.getString( key );
result = new String( result.getBytes( "ISO-8859-1" ) , "JISAutoDetect" );

return result;

で日本語とれた気がします。

[ メッセージ編集済み 編集者: ハム★ 編集日時 2005-12-22 00:56 ]
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2005-12-22 10:12
私も、インギさん同様 java.util.Propertiesクラスを使用して
ファイルを読み書きするようにしています。
siggy
常連さん
会議室デビュー日: 2002/08/14
投稿数: 23
投稿日時: 2005-12-22 11:48
引用:

ハム★さんの書き込み (2005-12-22 00:55) より:
ResourceBundleを利用して
private static ResourceBundle bundle = ResourceBundle.getBundle( "filename" );

String result = null;
result = bundle.getString( key );
result = new String( result.getBytes( "ISO-8859-1" ) , "JISAutoDetect" );

return result;

で日本語とれた気がします。




日本語を取得することができました。
そういえばこのような方法がありましたね。失念しておりました。
ありがとうございました!
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2005-12-22 13:35
java.util.Properties#load()を使いましょう。

スキルアップ/キャリアアップ(JOB@IT)