Utilisez Java pour empaqueter des fichiers afin de générer des fichiers compressés. Il existe deux endroits où des caractères tronqués apparaîtront :
1. Le problème du contenu tronqué chinois : modifier le code source. de soleil. Utilisez les bibliothèques de classes open source org.apache.tools.zip.ZipOutputStream et org.apache.tools.zip.ZipEntry. Ces deux classes sont disponibles dans ant.jar et peuvent être téléchargées et utilisées.
2. Le problème des caractères chinois tronqués dans les commentaires des fichiers compressés : zos.setComment("Chinese test"); Trouvez le problème en utilisant la méthode de définition de l'encodage (zos.setEncoding("gbk");) et testez l'encodage du projet. Le mode est gbk et l'encodage par défaut est utf-8.
org.apache.tools.zip.ZipOutputStream utilise la méthode d'encodage du projet par défaut, ce qui peut être résolu en la changeant en gbk via la méthode setEncoding.
Code du fichier compressé Java :
package com.compress; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; public class CompressEncodingTest { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { File f = new File("中文测试.txt"); ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream( new FileOutputStream("zipTest.zip"), 1024)); zos.putNextEntry(new ZipEntry("中国人.txt")); DataInputStream dis = new DataInputStream(new BufferedInputStream( new FileInputStream(f))); zos.putNextEntry(new ZipEntry(f.getName())); int c; while ((c = dis.read()) != -1) { zos.write(c); } zos.setEncoding("gbk"); zos.setComment("中文测试"); zos.closeEntry(); zos.close(); } }
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!