ホームページ  >  記事  >  Java  >  Java zip圧縮の文字化けの原因と解決策を紹介

Java zip圧縮の文字化けの原因と解決策を紹介

尚
オリジナル
2019-12-02 13:20:033329ブラウズ

Java zip圧縮の文字化けの原因と解決策を紹介

Java zip圧縮文字化けの原因と解決策:(推奨:javaビデオチュートリアル

実行環境

Jdk 1.5、win 7 中国語版

JDK1.5 の java.util.zip パッケージの下に zip 圧縮関連の API があります。通常は、JDK 付属の API を使用して、ディレクトリ (ファイル) を zip パッケージに圧縮します。手順は次のとおりです。とすると、これらのディレクトリやファイルの名前が文字化けしてしまいます。理由は、JDK 付属の API では、ZipEntry を記述する際に使用されるデフォルトのエンコーディングが UTF8 であるためです (これしかないようで、他にはありません)変更方法 Java7で改善されたと言われています)、win7での動作 中国版のシステムではzipファイルの処理時にGBKエンコーディングが使用されており、エンコードとデコードのプロセスが異なるため、中国語版ではパッケージ化されたファイルが文字化けしますwin7の。

採用できる解決策は、サードパーティ API を使用して zip 圧縮を実装し、中国語の文字化けの問題を解決することです。以下は、Apache の圧縮を使用した zip 圧縮の実装です。必要な jar パッケージは commons-compress-1.2.jar

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
Out.putNextEntry(new ZipEntry(entryName));
//If entry is directory
//above codes are enough
//else if entry is file
//then the codes below is needed
FileInputStream in = new FileInputStream(infile);
byte[] bs = newbyte[1024];
int b = 0;
while((b = in.read(bs)) != -1) {
zos.write(bs, 0, b);
}
in.close();

Java の詳細については、

Java 基本チュートリアル

を参照してください。カラム。

以上がJava zip圧縮の文字化けの原因と解決策を紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。