最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決java壓縮文件亂碼問題

 更新時間:2019年12月22日 10:59:45   作者:尚  
在本篇文章中我們給大家分享的是一篇關(guān)于java壓縮文件亂碼問題的解決辦法,有需要的朋友們可以學習下。

用java來打包文件生成壓縮文件,有兩個地方會出現(xiàn)亂碼:

  1. 內(nèi)容的中文亂碼問題:修改sun的源碼。使用開源的類庫org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,這兩個類ant.jar中有,可以下載使用即可。
  2. 壓縮文件注釋的中文亂碼問題:zos.setComment("中文測試");通過使用設(shè)置編碼的方法(zos.setEncoding("gbk");)發(fā)現(xiàn)問題,測試項目的編碼方式為gbk,而默認編碼是utf-8。

org.apache.tools.zip.ZipOutputStream默認使用項目的編碼方式,通過setEncoding方法改成gbk即可解決。

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(); 

  } 

  

}

以上就是java壓縮文件亂碼問題的詳細內(nèi)容,感謝大家的學習和對腳本之家的支持。

相關(guān)文章

  • SpringSecurity多認證器配置多模式登錄自定義認證器方式

    SpringSecurity多認證器配置多模式登錄自定義認證器方式

    這篇文章主要介紹了SpringSecurity多認證器配置多模式登錄自定義認證器方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java實現(xiàn)常用加密算法SM3的方式及測試代碼

    Java實現(xiàn)常用加密算法SM3的方式及測試代碼

    這篇文章介紹了SM3算法在Java中的實現(xiàn)方式,SM3算法是一種密碼散列函數(shù)標準,主要用于商用密碼應(yīng)用中的數(shù)字簽名和驗證、消息認證碼生成和驗證、隨機數(shù)生成等,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 在AOP中Spring生成代理類的兩種方式

    在AOP中Spring生成代理類的兩種方式

    今天小編就為大家分享一篇關(guān)于在AOP中Spring生成代理類的兩種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Spring TaskScheduler使用實例解析

    Spring TaskScheduler使用實例解析

    這篇文章主要介紹了Spring TaskScheduler使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼

    Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼

    《飛機大戰(zhàn)-I》是一款融合了街機、競技等多種元素的經(jīng)典射擊手游。本文將利用java語言實現(xiàn)這游戲,文中采用了swing技術(shù)進行了界面化處理,感興趣的可以了解一下
    2022-02-02
  • 基于HashMap遍歷和使用方法(詳解)

    基于HashMap遍歷和使用方法(詳解)

    下面小編就為大家?guī)硪黄贖ashMap遍歷和使用方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 通過第三方接口發(fā)送短信驗證碼/短信通知(推薦)

    通過第三方接口發(fā)送短信驗證碼/短信通知(推薦)

    這篇文章主要介紹了通過第三方接口發(fā)送短信驗證碼/短信通知(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Java Set集合的遍歷及實現(xiàn)類的比較

    Java Set集合的遍歷及實現(xiàn)類的比較

    這篇文章主要介紹了Java Set集合的遍歷及實現(xiàn)類的比較的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法

    IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法

    這篇文章主要介紹了IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • SpringBoot的啟動過程源碼詳細分析

    SpringBoot的啟動過程源碼詳細分析

    這篇文章主要介紹了SpringBoot的啟動過程源碼詳細分析,SpringBoot啟動的時候,會構(gòu)造一個SpringApplication的實例,構(gòu)造SpringApplication的時候會進行初始化的工作,需要的朋友可以參考下
    2023-11-11

最新評論

鹤庆县| 清涧县| 密山市| 札达县| 平度市| 江孜县| 昭苏县| 南通市| 安徽省| 全州县| 娄烦县| 睢宁县| 称多县| 全南县| 洞头县| 介休市| 儋州市| 海口市| 宁阳县| 杨浦区| 奎屯市| 城固县| 宁化县| 体育| 尼玛县| 社会| 游戏| 永春县| 北川| 威信县| 花垣县| 武清区| 海阳市| 建水县| 唐海县| 保靖县| 兖州市| 土默特左旗| 浑源县| 伊金霍洛旗| 耒阳市|