java壓縮gz
A. 壓縮文件的類型有那些
歸結一下,據我所知一般有以下幾種:
.rar (現在比較流行的壓縮格式,我們幾乎都用它)
.zip (老牌的壓縮格式)
.cab (windows安裝程序的專用壓縮格式,經常可以在安裝包下看到)
.iso (winiso的光碟鏡像格式,通常用於虛擬光碟機,可以用rar查看)
.jar (java程序的壓縮包格式)
.ace (winace的壓縮格式)
.7z  (7-Zip壓縮格式,號稱有著現今最高壓縮比的,我沒有用過- -)
.tar (也是java程序的壓縮格式,通常linux生成的就是)
.gz  (http上可以改善web程序性能,linux下用於文件壓縮,通常可以看見.tar.gz的後綴)
.arj (DOS下最好的壓縮工具)
.lzh (比較古老的壓縮格式)
.uue (unix中採用uuencode編碼格式生成的文件)
.bz2 (linux下的壓縮格式,同.gz,但壓縮比要高於.gz)
.z   (linux下的壓縮格式,同.gz)
以上格式都可用WinRAR解開
B. 用java如何解析gz文件
一個偷懶的做法是調用操作系統命令把gz解壓縮,然後再讀取。網上也許能找到一些操作gz的java庫。
C. 如何通過java,不進行解壓就把iso、apk、gz等壓縮文件中的文件名讀取出來求可行的思路!謝謝!
對著壓縮包,右JI,通過WINRAR打開,通過左鍵直接把文件拖出來,再重命名,再拖進去,就行了
D. java 如何用zlib解壓縮tar.gz文件
public static void makeZip(List<File> fileList,String zipPath,boolean isDelete) {
        byte[] buf = new byte[1024];
        try {
          // Create the ZIP file
         File zipFile = new File(zipPath);
          ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
          // Compress the files
          for (int i = 0; i < fileList.size(); i++) {
            FileInputStream in = new FileInputStream(fileList.get(i));
            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(fileList.get(i).getName()));
            // Transfer bytes from the file to the ZIP file
            int len;
            while ( (len = in.read(buf)) > 0) {
              out.write(buf, 0, len);
            }
            // Complete the entry
            out.closeEntry();
            in.close();
          }
          // Complete the ZIP file
          out.close();
          System.out.println("壓縮完成.");
          
          //把舊的文件刪除
          if(isDelete == true){
           for (int i = 0; i < fileList.size(); i++) {
            File oldFile = fileList.get(i);
            oldFile.delete();
           }
          }
        }
        catch (IOException e) {
          e.printStackTrace();
        }
    }
   public static void main(String[] args){
    File in1=new File("D:\\a.txt");
    File in2=new File("D:\\b.txt");
    File[] file=new File[]{in1,in2};
    File zip=new File("D:\\ab.zip");
    IDMZip mgr=new IDMZip();
    mgr.ZipFiles(file, zip);
   }
這個方法不管你是在windows下還是在linux下,都能正常執行。
E. java里怎麼解壓tar.gz文件啊,網上好多例子都不行
我覺得你的步驟有問題,tar.gz壓縮包里放文件或文件夾都無所謂,需要用程序來生成,下面詳細說明:
1.
用程序中的方法【archive】生成tar壓縮文件
2.
用程序中的方法【compressArchive】生成tar.gz壓縮文件
3.
將生成的壓縮文件為參數進行解壓,具體是:
unCompressArchiveGz("d:\\test\\xmlbak.tar.gz");//解壓
4.
查看解壓後的文件夾內容和文件內容,均可以正常顯示訪問
樓主的問題主要是手動生成了一個壓縮文件,這是主要的問題原因。
F. java如何壓縮成gz包
import java.io.*; 
import java.util.zip.*; 
 
public class GZIPcompress { 
  public static void main(String[] args) { 
    try { 
      BufferedReader in = 
        new BufferedReader( 
          new FileReader(args[0])); 
      BufferedOutputStream out = 
        new BufferedOutputStream( 
          new GZIPOutputStream( 
            new FileOutputStream("test.gz"))); 
      System.out.println("Writing file"); 
      int c; 
      while((c = in.read()) != -1) 
        out.write(c); 
      in.close(); 
      out.close(); 
      System.out.println("Reading file"); 
      BufferedReader in2 = 
        new BufferedReader( 
          new InputStreamReader( 
            new GZIPInputStream( 
              new FileInputStream("test.gz")))); 
      String s; 
      while((s = in2.readLine()) != null) 
        System.out.println(s); 
    } catch(Exception e) { 
      e.printStackTrace(); 
    } 
  } 
} ///:~
G. gz後綴怎麼解壓
1、在Windows系統環境下,安裝解壓軟體

H. java如何解壓.gz後綴的壓縮包
File file = new File(zipFilePath); 將zip文件路徑轉換 成文件
zipFile = new ZipFile(file); 調用java util下面的zipfile類
Enumeration<?> zipEnum = zipFile.entries(); 將zip文件裡面的內容都放在迭代器裡面了
ZipEntry entry = (ZipEntry) zipEnum.nextElement();,然後迭代出ZipEntry對象。
zipFile.getInputStream(entry)就可以得到所需要的流了,之後做你需要的操作。
I. 如何解壓.tar.gz gzip gz 類型文檔
java解壓縮.gz .zip .tar.gz等格式的壓縮包方法總結
1、.gz文件是linux下常見的壓縮格式。使用 java.util.zip.GZIPInputStream即可,壓縮是 java.util.zip.GZIPOutputStream
1     public static void unGzipFile(String sourcedir) {
2         String ouputfile = "";
3         try {
4             //建立gzip壓縮文件輸入流
5             FileInputStream fin = new FileInputStream(sourcedir);
6             //建立gzip解壓工作流
7             GZIPInputStream gzin = new GZIPInputStream(fin);
8             //建立解壓文件輸出流
9             ouputfile = sourcedir.substring(0,sourcedir.lastIndexOf('.'));
10             ouputfile = ouputfile.substring(0,ouputfile.lastIndexOf('.'));
11             FileOutputStream fout = new FileOutputStream(ouputfile);   
12             
13             int num;
14             byte[] buf=new byte[1024];
15 
16             while ((num = gzin.read(buf,0,buf.length)) != -1)
17             {   
18                 fout.write(buf,0,num);   
19             }
20 
21             gzin.close();   
22             fout.close();   
23             fin.close();   
24         } catch (Exception ex){  
25             System.err.println(ex.toString());  
26         }  
27         return;
28     }  
2、zip文件,使用java.util.zip.ZipEntry 和 java.util.zip.ZipFile
1 /**
2      * 解壓縮zipFile
3      * @param file 要解壓的zip文件對象
4      * @param outputDir 要解壓到某個指定的目錄下
5      * @throws IOException
6      */
7     public static void unZip(File file,String outputDir) throws IOException {
8         ZipFile zipFile = null;
9           
10         try {  
11             Charset CP866 = Charset.forName("CP866");  //specifying alternative (non UTF-8) charset
12             //ZipFile zipFile = new ZipFile(zipArchive, CP866);
13             zipFile =  new ZipFile(file, CP866);        
14             createDirectory(outputDir,null);//創建輸出目錄  
15   
16             Enumeration<?> enums = zipFile.entries();  
17             while(enums.hasMoreElements()){  
18                   
19                 ZipEntry entry = (ZipEntry) enums.nextElement();  
20                 System.out.println("解壓." +  entry.getName());  
21                   
22                 if(entry.isDirectory()){//是目錄
23                     createDirectory(outputDir,entry.getName());//創建空目錄                
24                 }else{//是文件      
25                     File tmpFile = new File(outputDir + "/" + entry.getName());   
26                     createDirectory(tmpFile.getParent() + "/",null);//創建輸出目錄  
27                       
28                     InputStream in = null;    
29                     OutputStream out = null;  
30                     try{  
31                         in = zipFile.getInputStream(entry);;    
32                         out = new FileOutputStream(tmpFile);  
33                         int length = 0;  
34                           
35                         byte[] b = new byte[2048];   
36                         while((length = in.read(b)) != -1){  
37                             out.write(b, 0, length);  
38                         }  
39                       
40                     }catch(IOException ex){  
41                         throw ex;  
42                     }finally{  
43                         if(in!=null)  
44                             in.close();  
45                         if(out!=null)  
46                             out.close();  
47                     }      
48                 }  
49             }  
50               
51         } catch (IOException e) {  
52             throw new IOException("解壓縮文件出現異常",e);  
53         } finally{  
54             try{  
55                 if(zipFile != null){  
56                     zipFile.close();  
57                 }  
58             }catch(IOException ex){  
59                 throw new IOException("關閉zipFile出現異常",ex);  
60             }  
61         }      
62     }  
63       
64     /** 
65      * 構建目錄 
66      * @param outputDir 
67      * @param subDir 
68      */  
69     public static void createDirectory(String outputDir,String subDir){     
70         File file = new File(outputDir);  
71         if(!(subDir == null || subDir.trim().equals(""))){//子目錄不為空  
72             file = new File(outputDir + "/" + subDir);  
73         }  
74         if(!file.exists()){  
75               if(!file.getParentFile().exists())
76                   file.getParentFile().mkdirs();
77             file.mkdirs();  
78         }  
79     }  
3、.tar.gz文件可以看做先用tar打包,再使用gz進行壓縮。
使用org.apache.tools.tar.TarEntry;  org.apache.tools.tar.TarInputStream 和 org.apache.tools.tar.TarOutputStream
1  //------------------------------------------------------------------------------------------------------
2     /**
3      * 解壓tar.gz 文件
4      * @param file 要解壓的tar.gz文件對象
5      * @param outputDir 要解壓到某個指定的目錄下
6      * @throws IOException
7      */
8     public static void unTarGz(File file,String outputDir) throws IOException{
9         TarInputStream tarIn = null;  
10         try{  
11             tarIn = new TarInputStream(new GZIPInputStream(  
12                     new BufferedInputStream(new FileInputStream(file))),  
13                     1024 * 2);  
14               
15             createDirectory(outputDir,null);//創建輸出目錄  
16 
17             TarEntry entry = null;  
18             while( (entry = tarIn.getNextEntry()) != null ){  
19                   
20                 if(entry.isDirectory()){//是目錄
21                     entry.getName();
22                     createDirectory(outputDir,entry.getName());//創建空目錄  
23                 }else{//是文件
24                     File tmpFile = new File(outputDir + "/" + entry.getName());  
25                     createDirectory(tmpFile.getParent() + "/",null);//創建輸出目錄  
26                     OutputStream out = null;  
27                     try{  
28                         out = new FileOutputStream(tmpFile);  
29                         int length = 0;  
30                           
31                         byte[] b = new byte[2048];  
32                           
33                         while((length = tarIn.read(b)) != -1){  
34                             out.write(b, 0, length);  
35                         }  
36                       
37                     }catch(IOException ex){  
38                         throw ex;  
39                     }finally{  
40                           
41                         if(out!=null)  
42                             out.close();  
43                     }  
44                 }
45             }  
46         }catch(IOException ex){  
47             throw new IOException("解壓歸檔文件出現異常",ex);  
48         } finally{  
49             try{  
50                 if(tarIn != null){  
51                     tarIn.close();  
52                 }  
53             }catch(IOException ex){  
54                 throw new IOException("關閉tarFile出現異常",ex);  
55             }  
56         }  
57     }  
使用到的包頭有:
1 import java.io.BufferedInputStream;
2 import java.io.File;
3 import java.io.FileInputStream;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.OutputStream;
8
9 import java.nio.charset.Charset;
10 import java.util.Enumeration;
11 import java.util.zip.GZIPInputStream;
12 import java.util.zip.ZipEntry;
13 import java.util.zip.ZipFile;
14 
15 import org.apache.tools.tar.TarEntry;  
16 import org.apache.tools.tar.TarInputStream;  
17 import org.apache.tools.tar.TarOutputStream;
J. Java 怎麼解壓zlib函數庫壓縮的tar.gz格式的文件
這個文件不是在windows環境下解壓的,它是在linux系統下的壓縮文件。你應該解壓zip格式的壓縮包
