java代碼導出壓縮包,java 導出包

怎樣用Java生成ZIP文件

import java.io.BufferedOutputStream;

創(chuàng)新互聯(lián)公司主營普定網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都APP應用開發(fā),普定h5小程序定制開發(fā)搭建,普定網(wǎng)站營銷推廣歡迎普定等地區(qū)企業(yè)咨詢

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipOutputStream;

/**

* @project: Test

* @author chenssy

* @date 2013-7-28

* @Description: 文件壓縮工具類

* ? ? ? ? ? ? ? ? ? 將指定文件/文件夾壓縮成zip、rar壓縮文件

*/

public class CompressedFileUtil {

/**

* 默認構(gòu)造函數(shù)

*/

public CompressedFileUtil(){

}

/**

* @desc 將源文件/文件夾生成指定格式的壓縮文件,格式zip

* @param resourePath 源文件/文件夾

* @param targetPath ?目的壓縮文件保存路徑

* @return void

* @throws Exception

*/

public void compressedFile(String resourcesPath,String targetPath) throws Exception{

? File resourcesFile = new File(resourcesPath); ? ? //源文件

? File targetFile = new File(targetPath); ? ? ? ? ? //目的

? //如果目的路徑不存在,則新建

? if(!targetFile.exists()){ ?

? ? ? targetFile.mkdirs();

? }

? String targetName = resourcesFile.getName()+".zip"; ? //目的壓縮文件名

? FileOutputStream outputStream = new FileOutputStream(targetPath+"\\"+targetName);

? ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outputStream));

? createCompressedFile(out, resourcesFile, "");

? out.close();

}

/**

* @desc 生成壓縮文件。

* ? ? ? ? ? ? ? ? ?如果是文件夾,則使用遞歸,進行文件遍歷、壓縮

* ? ? ? 如果是文件,直接壓縮

* @param out ?輸出流

* @param file ?目標文件

* @return void

* @throws Exception

*/

public void createCompressedFile(ZipOutputStream out,File file,String dir) throws Exception{

? //如果當前的是文件夾,則進行進一步處理

? if(file.isDirectory()){

? ? ? //得到文件列表信息

? ? ? File[] files = file.listFiles();

? ? ? //將文件夾添加到下一級打包目錄

? ? ? out.putNextEntry(new ZipEntry(dir+"/"));

? ?

? ? ? dir = dir.length() == 0 ? "" : dir +"/";

? ?

? ? ? //循環(huán)將文件夾中的文件打包

? ? ? for(int i = 0 ; i files.length ; i++){

? ? ? ? ? createCompressedFile(out, files[i], dir + files[i].getName()); ? ? ? ? //遞歸處理

? ? ? }

? }

? else{ ? //當前的是文件,打包處理

? ? ? //文件輸入流

? ? ? FileInputStream fis = new FileInputStream(file);

? ?

? ? ? out.putNextEntry(new ZipEntry(dir));

? ? ? //進行寫操作

? ? ? int j = ?0;

? ? ? byte[] buffer = new byte[1024];

? ? ? while((j = fis.read(buffer)) 0){

? ? ? ? ? out.write(buffer,0,j);

? ? ? }

? ? ? //關閉輸入流

? ? ? fis.close();

? }

}

public static void main(String[] args){

? CompressedFileUtil compressedFileUtil = new CompressedFileUtil();

? try {

? ? ? compressedFileUtil.compressedFile("G:\\zip", "F:\\zip");

? ? ? System.out.println("壓縮文件已經(jīng)生成...");

? } catch (Exception e) {

? ? ? System.out.println("壓縮文件生成失敗...");

? ? ? e.printStackTrace();

? }

}

}

 運行程序結(jié)果如下:

 壓縮之前的文件目錄結(jié)構(gòu):

如果是使用java.util下的java.util.zip進行打包處理,可能會出現(xiàn)中文亂碼問題,這是因為java的zip方法不支持編碼格式的更改,我們可以使用ant.java下的zip工具類來進行打包處理。所以需要將ant.jar導入項目的lib目錄下。

用eclipse寫好java后導出文件是壓縮文件怎么辦

導出Runnabled Jar File,選擇你要運行的主java類(含有main方法的java類)。導出jar包就可以運行,沒有Runnabled Jar File,右鍵項目導出jar也可以,之間有一步是選擇Main class,選擇你的那個要運行的java類(含有main 方法)導出的jar包就可以運行

如何使用JAVA代碼壓縮PDF文件

用java代碼壓縮應用到程序了,代碼一般是比較復雜的,對pdf文件的mate標簽優(yōu)化,這類標簽包括三類,pdf文件不是網(wǎng)頁就是個文件,何況我們可以用pdf壓縮工具壓縮,下面有個解決方法,樓主可以做參照。

1:點擊打開工具,打開主頁面上有三個功能進行選擇,我們選擇pdf文件壓縮。

2:這這個頁面中我們選擇pdf文件在這里打開,點擊“添加文件”按鈕將文件添加進來。

3:然后在頁面中點擊“開始壓縮”就可以開始壓縮文件了。

4:壓縮完成的文件頁面會顯示已經(jīng)完成。

java代碼實現(xiàn) 導出zip包,無法打開zip壓縮包

package com.lch.test;

import java.util.Enumeration;

import java.util.zip.ZipEntry;

import java.util.zip.ZipFile;

public class ZIP {

public static void main(String[] argv) throws Exception {

ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");

for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {

String zipEntryName = ((ZipEntry) entries.nextElement()).getName();

System.out.println(zipEntryName);

}

}

}

用javad 的ZipFile類的ZipEntry方法試一下 找到ZIP里面的ZipEntry方法 讀取Zip里面壓縮文件的內(nèi)容

有可能會引用外包

你好,我不知道你說的dzp是什么格式文件,但如果是zip的壓縮文件,可以看下我的這段代碼

ZipFile file = new ZipFile("d:\\1.zip");

ZipEntry entry = file.getEntry("1.xml"); //假如壓縮包里的文件名是1.xml

InputStream in=file.getInputStream(entry);

最后就是按照java中一貫的流的處理方式即可

可以不解壓,zip包里的一個對象就是一個ZipEntry

找到你想要的那個ZipEntry,用文流寫出來就可以了。追問通過ZipEntry,然后用流就可以讀出里面的內(nèi)容了嗎?謝謝指點!

回答/**

* 解壓

* @param root 輸出目標

* @param zipfile zip文件

*/

protected void unzip(File root, File zipfile, String file) throws Exception {

// 解壓文件不存在時返回

if (!zipfile.exists()) {

return;

}

// 釋放目錄不存時創(chuàng)建

if (!root.exists()) {

root.mkdirs();

}

// 釋放目錄不為目錄時返回

if (!root.isDirectory()) {

return;

}

FileInputStream fin = new FileInputStream(zipfile);

ZipInputStream zin = new ZipInputStream(fin);

ZipEntry entry = null;

while ((entry = zin.getNextEntry()) != null) {

// if (!entry.getName().endsWith(file)) {

// continue;

// }

File tmp = new File(root, entry.getName());

if (entry.isDirectory()) {

tmp.mkdirs();

} else {

byte[] buff = new byte[4096];

int len = 0;

tmp.getParentFile().mkdirs();

FileOutputStream fout = new FileOutputStream(tmp);

while ((len = zin.read(buff)) != -1) {

fout.write(buff, 0, len);

}

zin.closeEntry();

fout.close();

}

}

}

這里完整的解壓代碼。

// if (!entry.getName().endsWith(file)) {

// continue;

// }

這段打開就是只解出一個你指定的文件。

下面是測試用的。

public static void main(String[] args) throws Exception {

new CommonFiles().unzip(new File("D:\\"), new File("D:\\test.zip"),"file.txt");

}

這個例子會在D盤生成型個test文件夾,file.txt就會在里面,(里面也可能會有多個文件夾,這個取決于壓縮包里文件的度)

如何用JAVA把內(nèi)存里的二進制文件打包成ZIP包

Java代碼

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.zip.ZipEntry;

import java.util.zip.ZipInputStream;

import java.util.zip.ZipOutputStream;

class ZipTest {

// 壓縮

public static void zip(String zipFileName, String inputFile)

throws Exception {

File f = new File(inputFile);

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(

zipFileName));

zip(out, f, f.getName());

System.out.println("zip done");

out.close();

}

private static void zip(ZipOutputStream out, File f, String base)

throws Exception {

out.putNextEntry(new ZipEntry(base));

FileInputStream in = new FileInputStream(f);

int b;

while ((b = in.read()) != -1)

out.write(b);

in.close();

}

public static void main(String[] args) {

try {

ZipTest t = new ZipTest();

t.zip("c:\\test.zip", "c:\\1.txt");

} catch (Exception e) {

e.printStackTrace(System.out);

}

}

}

當前題目:java代碼導出壓縮包,java 導出包
網(wǎng)站URL:http://muchs.cn/article48/hssihp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、面包屑導航、商城網(wǎng)站小程序開發(fā)、企業(yè)網(wǎng)站制作、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名