- - PR -
ファイル名が2Byte文字の圧縮について。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-23 10:39
おはようございます。
ファイルの圧縮処理の実装を試案中なのですが・・・ 「ファイル名が2Byte文字」のファイルを圧縮すると、zipフォルダ直下に 文字化けしたファイルが作成されてしまいます。。。 ファイル内容はしっかり保存できているのですが。 FileInputStream&BufferedInputStreamでファイルを読み込み、 ZipOutputStreamで書き出しています。 色々試したのですが、全くうまくいきません。 対策方法をご存知の方がいらっしゃりましたら、 アドバイスして頂きたいです。宜しくお願い致します。 |
|
投稿日時: 2005-09-23 13:19
SunJavaのZipは、日本語だめみたいですよ
私のやった仕事(4年位前)での回避方法は、 JavaプログラムからOSのzipコマンド実行してました。 その他ネットで調べたらこんなのもあるみたいですよ org.apache.tools.zip |
|
投稿日時: 2005-09-23 13:41
Yamaさん、こんにちは。
ご返信ありがとうございます。 引用: ------------------------------------------------- SunJavaのZipは、日本語だめみたいですよ 私のやった仕事(4年位前)での回避方法は、 JavaプログラムからOSのzipコマンド実行してました。 ------------------------------------------------- 日本語・・・ダメなんですか。OSのzipコマンド?? 文字化け回避は難しそうですね。。。 アドバイスありがとうございました。 |
|
投稿日時: 2005-09-23 15:25
度々すみません。
例えばなんですが・・・。 圧縮後、zipフォルダ内のファイルをpathで辿り、文字バケしているファイル名を 正規の2byte文字に変更する事は可能でしょうか? 強引すぎるかな。。。 |
|
投稿日時: 2005-09-25 19:23
java.util.zip パッケージの機能をそのまま使うと、
ファイル名(フォルダ名)がUTF-8でエンコードされてしまうので、 日本語Windowsとの互換性がありません。 (「日本語が使えない」わけではないので、誤解なきよう) MS漢字コードでエンコードしたければ、Yamaさんが指摘しておられる org.apache.tools.zip を使うのが手っ取り早いでしょう。 # 1.5になって改善されたかと期待したけど、 # 相変わらずUTF-8決め打ちなのね >java.util.zip |
|
投稿日時: 2005-09-25 22:12
coasmさん、こんばんは。
ご返信ありがとうございます。 現状での[java.util.zip]では、2byteファイル名の 文字化けは回避できないんですね。。。 ただ、それが分かっただけでも大変助かりました! Yamaさん、coasmさん、本当にありがとうございました! |
|
投稿日時: 2006-03-29 12:19
解凍の話はある。
ZIPファイル内の非UTF-8ファイル名 http://moyolab.blog57.fc2.com/blog-entry-23.html BugParade 日本は元よりドイツ・スペイン・中国・韓国とあらゆる国から悲鳴が上がってます。 [ メッセージ編集済み 編集者: MMX 編集日時 2006-03-29 12:21 ] |
1