導航:首頁 > 編程語言 > java解壓亂碼

java解壓亂碼

發布時間:2022-08-27 16:07:15

⑴ 如何解決java程序解壓含有中文名的zip壓縮包出現亂碼

上次利用java自動的java.util.zip.ZipEntry和�0�2java.util.zip.ZipFile來解壓zip文件,今天發現程序在讀取解壓文件時居然報了空指針異常,debug程序後發現時讀取不到文件,產生原先是zip壓縮文件中含有中文的名稱,讀取文件名為亂碼,
報找不到文件名,所以報了空指針,想到ant構建文件也有這個功能,換了apache的ant.jar居然解決了中文的問題。
備份下。
�0�2import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;/*** 讀取zip壓縮文件中文本的內容
* @author fish*/public class ReadZip {
public static void main(String args[]) {try {String fileName = "D:/workspace/java/src/ReadZip.zip";
//構造ZipFile
ZipFile zf = new ZipFile(new File(fileName));
//返回 ZIP file entries的枚舉.
Enumeration<? extends ZipEntry entries = zf.getEntries();
while (entries.hasMoreElements()) {
ZipEntry ze = entries.nextElement();
System.out.println("name:"+ze.getName());
long size = ze.getSize();
if (size 0) {
System.out.println("Length is " + size);
BufferedReader br = new BufferedReader(
new InputStreamReader(zf.getInputStream(ze)));
String line;
while ((line = br.readLine()) != null) {

⑵ 用好壓軟體壓縮文件為zip格式,在用JAVA的zip4j包進行解壓,但是解壓後出現亂碼,怎麼事

按照你說的我沒有亂碼,把壓縮文件貼出來瞧瞧。

⑶ java壓縮zip文件中文亂碼問題

我以前也遇到過這個問題,最後發現java自帶的zip壓縮沒辦法解決中文名亂碼的問題
你可以使用apache ant的zip類(package: org.apache.tools.zip)來解決這個問題。

⑷ Java zip 解壓文件中文 亂碼問題.. 跪求大神解答

字元格式需要進行轉碼了

⑸ 打開java文件都是亂碼怎麼解決

編輯器的編碼會影響到所有的項目中的字元的顯示,可以說是作用最為廣泛的設置,每一個項目都會受到這個設置的影響。點擊菜單欄中的窗口(Window)— —選項(Preferences)。

⑹ java Zip解析亂碼問題

debug一下,看看filepath輸出什麼,看看下面這個代碼
import java.io.*;
import java.util.zip.*;

public class Zip {
static final int BUFFER = 2048;
static boolean flag = false;

public static void main(String args[])throws IOException{
File file= new File("D:/Temp");
ZipSubdirectory(file);
FileInputStream file1 = new FileInputStream(ZipSubdirectory(file));
System.out.println(file1.toString());
}
//ZipSubdirectory函數將一個指定目錄(包括它子目錄)壓縮成一個同名壓縮文件(這里稱為"ORIGIN")
public static File ZipSubdirectory(File myDir)throws IOException{
//創建緩沖輸入流BufferedInputStream
BufferedInputStream origin = null;
//創建ZipOutputStream對象,將向它傳遞希望寫入文件的輸出流
File zipFile=new File("D:/"+myDir.getName()+".zip");
FileOutputStream fos=new FileOutputStream(zipFile);
ZipOutputStream out=new ZipOutputStream(new BufferedOutputStream(fos,BUFFER));
//dirContents[]獲取當前目錄(myDir)所有文件對象(包括子目錄名)
File dirContents[]=myDir.listFiles();
//創建臨時文件tempFile,使用後刪除
File tempFile=null;
try{
//處理當前目錄所有文件對象,包括子目錄
for(int i=0;i < dirContents.length; i++){
//使用遞歸方法將當前目錄的子目錄轉成一個ZIP文件,並作為一個ENTRY加進"ORIGIN"
if(dirContents[i].isDirectory()){
tempFile = ZipSubdirectory(dirContents[i]);
flag=true;
}
//如果當前文件不是子目錄
else {
tempFile=dirContents[i];
//flag標記tempFile是否由子目錄壓縮成的ZIP文件
flag = false;
}
System.out.println("Compress file: "+tempFile.getName());
FileInputStream fis = new FileInputStream(tempFile);
origin = new BufferedInputStream(fis,BUFFER);
//為被讀取的文件創建壓縮條目
ZipEntry entry = new ZipEntry(tempFile.getName());
byte data[]= new byte[BUFFER];
int count;
//在向ZIP輸出流寫入數據之前,必須首先使用out.putNextEntry(entry); 方法安置壓縮條目對象
out.putNextEntry(entry);
//向ZIP 文件寫入數據
while((count=origin.read(data,0,BUFFER))!=-1){
out.write(data,0,count);
}
//tempFile是臨時生成的ZIP文件,刪除它
if(flag==true){
flag = tempFile.delete();
System.out.println("Delete file:"+tempFile.getName()+flag);
}
//關閉輸入流
origin.close();
}
out.close();
} catch(Exception e){
System.out.println(e);
}
//遞歸返回
return zipFile;
}
}

來自

⑺ java解壓文件中文亂碼怎麼辦

沒用過JAVA,但是你這問題肯定是寫入文件時的編碼問題,換種編碼試試

⑻ cmd運行的java文件咋是亂碼

當我們不加設置就編譯時,相當於使用了參數:javac -encoding gbk XX.java,當然就會出現不兼容的情況。
解決方法:
1、轉換成UTF-8編碼格式,但仍然有錯解決辦法是:應該使用-encoding參數指明編碼方式:javac -encoding UTF-8 XX.java
2、開始-->計算機-->滑鼠反鍵(滑鼠右鍵)-->屬性-->高級系統設置-->環境變數-->系統變數新建。然後輸入:「JAVA_TOOL_OPTIONS」變數,值為「-Dfile.encoding=UTF-8」然後確定、確定、在確定後。新開命令行窗口,再次輸入javac命令。

⑼ java壓縮中文zip,系統winrar解壓改中文zip會出現亂碼

建議 使用 apache ant 工具包來做壓縮,能完美的解決中文亂碼問題

⑽ 通過java控制linux環境下解壓文件夾後中文文件名是亂碼

壓縮成rar格式的再試試

閱讀全文

與java解壓亂碼相關的資料

熱點內容
願望清單app哪個好 瀏覽:457
安卓外放聲音怎麼解決 瀏覽:194
脈脈app干什麼用的 瀏覽:357
拽姐是哪個app 瀏覽:858
雲伺服器刪除了還有嗎 瀏覽:232
macbook可以用單片機嘛 瀏覽:307
南陽php招聘 瀏覽:814
去哪裡找按摩師很漂亮的app 瀏覽:818
86x99用簡便演算法計算 瀏覽:830
php截圖flash 瀏覽:274
卸載聯想app哪個好 瀏覽:721
php文字轉圖片 瀏覽:332
豆客後台怎麼加密碼 瀏覽:575
jpg轉換pdf破解版 瀏覽:979
php基礎書籍推薦 瀏覽:779
伺服器與外網不通如何驗證 瀏覽:353
電子版是不是就是文件夾 瀏覽:52
游戲屬性文件加密 瀏覽:464
如何讓安卓手機桌面圖標下移 瀏覽:530
ubuntuphp5環境搭建 瀏覽:101