欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

用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,而默認(rèn)編碼是utf-8。

org.apache.tools.zip.ZipOutputStream默認(rèn)使用項目的編碼方式,通過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壓縮文件亂碼問題的詳細(xì)內(nèi)容,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • Java 在PPT中添加混合圖表過程詳解

    Java 在PPT中添加混合圖表過程詳解

    這篇文章主要介紹了Java 在PPT中添加混合圖表過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 自己動手寫的mybatis分頁插件(極其簡單好用)

    自己動手寫的mybatis分頁插件(極其簡單好用)

    最近做了個項目,需要用到mybatis分頁功能,網(wǎng)上找了很多插件,都不太合適,于是就自己動手寫了個mybatis分頁插件功能,非常不錯,代碼簡單易懂,需要的朋友參考下吧
    2016-11-11
  • ssm框架+PageHelper插件實現(xiàn)分頁查詢功能

    ssm框架+PageHelper插件實現(xiàn)分頁查詢功能

    今天小編教大家如何通過ssm框架+PageHelper插件實現(xiàn)分頁查詢功能,首先大家需要新建一個maven工程引入jar包,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-06-06
  • Java 讀寫鎖源碼分析

    Java 讀寫鎖源碼分析

    這篇文章主要介紹了Java 讀寫鎖的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • 如何使用try-with-resource機制關(guān)閉連接

    如何使用try-with-resource機制關(guān)閉連接

    這篇文章主要介紹了使用try-with-resource機制關(guān)閉連接的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • feign 如何獲取請求真實目的ip地址

    feign 如何獲取請求真實目的ip地址

    這篇文章主要介紹了feign 獲取請求真實目的ip地址操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • idea中的Maven導(dǎo)包失敗問題解決方案匯總

    idea中的Maven導(dǎo)包失敗問題解決方案匯總

    這篇文章主要介紹了idea中的Maven導(dǎo)包失敗問題解決總結(jié),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • SpringCloud與Consul集成實現(xiàn)負(fù)載均衡功能

    SpringCloud與Consul集成實現(xiàn)負(fù)載均衡功能

    負(fù)載均衡基本概念有:實服務(wù)、實服務(wù)組、虛服務(wù)、調(diào)度算法、持續(xù)性等,其常用應(yīng)用場景主要是服務(wù)器負(fù)載均衡,鏈路負(fù)載均衡。這篇文章主要介紹了SpringCloud與Consul集成實現(xiàn)負(fù)載均衡 ,需要的朋友可以參考下
    2018-09-09
  • SpringBoot @Scope與@RefreshScope注解使用詳解

    SpringBoot @Scope與@RefreshScope注解使用詳解

    spring的bean管理中,每個bean都有對應(yīng)的scope。在BeanDefinition中就已經(jīng)指定scope,默認(rèn)的RootBeanDefinition的scope是prototype類型,使用@ComponentScan掃描出的BeanDefinition會指定是singleton,最常使用的也是singleton
    2022-11-11
  • Java源碼解析ConcurrentHashMap的初始化

    Java源碼解析ConcurrentHashMap的初始化

    今天小編就為大家分享一篇關(guān)于Java源碼解析ConcurrentHashMap的初始化,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論