- PR -

setPropertyで設定ファイルをSHIFT_JISで保存する方法

投稿者投稿内容
fight
ベテラン
会議室デビュー日: 2005/09/25
投稿数: 74
投稿日時: 2006-11-20 21:47
setPropertyでファイルを保存すると\u00DB\u00B3のようなunicodeか何かで保存されてしまいます。
これをSHIFT_JISの人間が見える形式で保存する方法はないのでしょうか?
ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。
native2asciiは使わずに解決したいと思っています。
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2006-11-20 22:06
Eclipseを使っているなら私はこんなプラグインで編集しています。
さいくろう
大ベテラン
会議室デビュー日: 2005/11/19
投稿数: 170
お住まい・勤務地: 川崎市
投稿日時: 2006-11-20 22:34
引用:

mukoubutiさんの書き込み (2006-11-20 21:47) より:
setPropertyでファイルを保存するとu00DBu00B3のようなunicodeか何かで保存されてしまいます。


「しまう」っていうか、これがフツーでしょ。
引用:

これをSHIFT_JISの人間が見える形式で保存する方法はないのでしょうか?
ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。
native2asciiは使わずに解決したいと思っています。


ないよ。
なんのために、仕様というものが存在すると思っているの。
関係するメソッドを無理矢理上書きするってのは、「Javaを使う」内にはいるのかねえ。

>いっきゅう様
老婆心ながら、ご指摘のツールは、
動作中のプログラムがプロパティファイルを操作するのには使えないかと。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-11-21 01:10
setPropertyはどのクラスのsetPropertyですか?
一連の質問しっぱなしのスレッドからすると、Propertiesのことだと思いますが。

まず、SHIFT_JISで保存できるようになったとして、
どうやって読み込むつもりですか?

目的と手段が間違った方向に向かっているんじゃ?
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2006-11-21 15:40
引用:

さいくろうさんの書き込み (2006-11-20 22:34) より:
ないよ。
なんのために、仕様というものが存在すると思っているの。
関係するメソッドを無理矢理上書きするってのは、「Javaを使う」内にはいるのかねえ。


ないことは無いでしょう。
単に人が見える形で保存したいだけならXML形式Properties.html#storeToXMLでいいですし。

あくまで、<key>=<value>で保存したいなら、Properties.html#storeの引数にそういう変換をするOutputStreamを渡してあげればいいだけです。
この手のデコレータパターンはjava.ioのお手の物ですのですぐ作れますよ。

[追記]storeのURLを修正。file:って [/追記]

[ メッセージ編集済み 編集者: sawat 編集日時 2006-11-21 16:17 ]
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-11-21 16:39
引用:

sawatさんの書き込み (2006-11-21 15:40) より:

この手のデコレータパターンはjava.ioのお手の物ですのですぐ作れますよ。


仕様をきちんと理解していない人は、そんな曲芸の前にやるべきことがあると思うんだがな。
スレ主さんが、他の人と一緒に仕事ができなくなったら、sawatさんのせいだね。w

ちゃんとわかってる人が、承知の上で使うのなら、勝手にすりゃいいんだが。

<追記>
もし、そんな行儀の悪いことをしているコードを保守しろっていわれたら・・・。orz

[ メッセージ編集済み 編集者: Edosson 編集日時 2006-11-21 16:45 ]
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-11-21 16:58
技術的には可能だけどやるべきではない、といったところですか。

格言としては
「正しくない仕様を正しく実装してはいけない」
というのがありましたね。

Unicodeでエスケープしないプロパティファイルというのは正しくない仕様。
その要求に対して技術的にはsawat氏の方法論で対処することはできるだろうけども、
そもそも前提となる仕様が誤っているのでやるべきではない。

# 私はさいくろう氏の発言は方便だと思っています。
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2006-11-21 17:38
引用:

Edossonさんの書き込み (2006-11-21 16:39) より:
仕様をきちんと理解していない人は、そんな曲芸の前にやるべきことがあると思うんだがな。


大丈夫ですよ。仕様を理解していない人はあの説明だけじゃ実装できないですから。(多分)
もっともファイルに保存するなら拡張子はproperties以外にして欲しいですけど。
もともとが「propertiesファイル」でないなら、仕様として間違ってるわけではないし、Properiesクラスに渡すStreamの実装が仕様で定められているわけでもないです。

引用:

nagiseさんの書き込み (2006-11-21 16:58) より:
# 私はさいくろう氏の発言は方便だと思っています。


方便ですか… まあ、スレ主がちょっとアレだからってことでしょうか。

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