Pendant le processus de transfert de fichiers, afin de rendre les fichiers volumineux plus pratiques et rapides, la compression est généralement utilisée pour compresser le fichier avant le transfert. Les classes Deflater et Enflater dans le package java.util.zip en Java fournissent aux utilisateurs la fonction de compression de l'algorithme Deflate. Ce qui suit est l'implémentation de compression et de décompression écrite par elle-même, et le contenu du fichier de compression est illustré comme exemple. Les méthodes spécifiques impliquées peuvent être consultées dans l'API JDK pour plus d'informations.
/ ** * * @param entréeByte * Tableau d'octet à décompresser * @return décompression-byte Array * @throws ioException * / public static byte [] Uncompress (byte [] inputByte) lance ioException {int len = 0; Enferment inflayer = nouvel inflatissement (); infr.setInput (intrutByte); BytearrayoutputStream bos = new bytearrayoutputStream (); octet [] outbyte = nouveau octet [1024]; essayez {while (! infr.finished ()) {// Décompressez et sortez le contenu décompressé du flux de sortie d'octet Bos Len = infr.inflate (outbyte); if (len == 0) {break; } bos.write (OutByte, 0, len); } inf.end (); } catch (exception e) {//} enfin {bos.close (); } return bos.toByTearray (); } / ** * Compress. * * @param inputByte * Byte Array à compresser * @return Données compressées * @throws ioException * / public static byte [] compress (byte [] inputByte) lance ioException {int len = 0; Deflater Defl = new Deflater (); Defl.SetInput (InputByte); Defl.Finish (); BytearrayoutputStream bos = new bytearrayoutputStream (); octet [] outputByte = nouveau octet [1024]; essayez {while (! Defl.Finished ()) {// compresser et sortir le contenu compressé au flux de sortie de l'octet bos len = defl.deflate (outputByte); Bos.Write (OutputByte, 0, Len); } defl.end (); } enfin {bos.close (); } return bos.toByTearray (); } public static void main (string [] args) {try {fileInputStream fis = new FileInputStream ("d: //testdeflate.txt"); int len = fis.available (); octet [] b = nouveau octet [len]; fis.read (b); octet [] bd = compress (b); // Pour que le contenu compressé soit transmis sur le réseau, la chaîne de codage Base64 est généralement utilisée pour être utilisée pour coder Encodestr = Base64.EncodeBase64String (BD); BYTE [] BI = Uncompress (base64.decodeBase64 (encodestr)); FileoutputStream fos = new FileOutputStream ("d: //testinflate.txt"); Fos.Write (BI); fos.flush (); fos.close (); fis.close (); } catch (exception e) {//}}La méthode de mise en œuvre de compression de déglastion ci-dessus dans Java est tout le contenu que j'ai partagé avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.