java快速压缩文件夹_如何使用java压缩文件夹本身

 2023-09-18 阅读 17 评论 0

摘要:它可以通过包java.util.Zip轻松解决,不需要任何额外的Jar文件只需复制以下代码并使用IDE运行它java压缩包文件编码不一致,//Import all needed packagespackage general;import java.io.File;java判断文件是否是压缩文件,import java.io.FileInputStream;import java.io.Fil

它可以通过包java.util.Zip轻松解决,不需要任何额外的Jar文件

只需复制以下代码并使用IDE运行它

java压缩包文件编码不一致,//Import all needed packages

package general;

import java.io.File;

java判断文件是否是压缩文件,import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

java读取文件夹?import java.util.ArrayList;

import java.util.List;

import java.util.zip.ZipEntry;

java导出文件、import java.util.zip.ZipOutputStream;

public class ZipUtils {

private List fileList;

java 压缩文件,private static final String OUTPUT_ZIP_FILE = "Folder.zip";

private static final String SOURCE_FOLDER = "D:\\Reports"; // SourceFolder path

public ZipUtils() {

fileList = new ArrayList < String > ();

}

public static void main(String[] args) {

ZipUtils appZip = new ZipUtils();

appZip.generateFileList(new File(SOURCE_FOLDER));

appZip.zipIt(OUTPUT_ZIP_FILE);

}

public void zipIt(String zipFile) {

byte[] buffer = new byte[1024];

String source = new File(SOURCE_FOLDER).getName();

FileOutputStream fos = null;

ZipOutputStream zos = null;

try {

fos = new FileOutputStream(zipFile);

zos = new ZipOutputStream(fos);

System.out.println("Output to Zip : " + zipFile);

FileInputStream in = null;

for (String file: this.fileList) {

System.out.println("File Added : " + file);

ZipEntry ze = new ZipEntry(source + File.separator + file);

zos.putNextEntry(ze);

try {

in = new FileInputStream(SOURCE_FOLDER + File.separator + file);

int len;

while ((len = in .read(buffer)) > 0) {

zos.write(buffer, 0, len);

}

} finally {

in.close();

}

}

zos.closeEntry();

System.out.println("Folder successfully compressed");

} catch (IOException ex) {

ex.printStackTrace();

} finally {

try {

zos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

public void generateFileList(File node) {

// add file only

if (node.isFile()) {

fileList.add(generateZipEntry(node.toString()));

}

if (node.isDirectory()) {

String[] subNote = node.list();

for (String filename: subNote) {

generateFileList(new File(node, filename));

}

}

}

private String generateZipEntry(String file) {

return file.substring(SOURCE_FOLDER.length() + 1, file.length());

}

}

参考mkyong ..我改变了当前问题要求的代码

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/76438.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息