📄 zipfile.java
字号:
/**
* @(#) ZipFile.java
*
* Copyright 2004 Opensource Develop Team. All rights reserved.
*/
package cr.web;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* 关于ZIP压缩文件的问题,在该类中主要演示在ZIP压缩中可以不把文件路径压缩进去
*
* @author Y.P.W
* @version 1.0 05/03/22
*/
public class ZipFile
{
public void add_Zip()
{
ArrayList fileNames = new ArrayList(); // 存放文件名,并非含有路径的名字
ArrayList files = new ArrayList(); // 存放文件对象
try
{
FileOutputStream fileOut = new FileOutputStream("D:/tomcat/webapps/ROOT/mes_out.zip");
ZipOutputStream outputStream = new ZipOutputStream(fileOut);
File rootFile = new File("D:/tomcat/webapps/ROOT/mes_out");
listFile(rootFile, fileNames, files);
for (int loop=0; loop<files.size(); loop++)
{
FileInputStream fileIn = new FileInputStream((File)files.get(loop));
outputStream.putNextEntry(new ZipEntry((String)fileNames.get(loop)));
byte[] buffer = new byte[1024];
while (fileIn.read(buffer) != -1)
{
outputStream.write(buffer);
}
outputStream.closeEntry();
fileIn.close();
}
outputStream.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
static void listFile(File parentFile, List nameList, List fileList)
{
if (parentFile.isDirectory())
{
File[] files = parentFile.listFiles();
for (int loop=0; loop<files.length; loop++)
{
listFile(files[loop], nameList, fileList);
}
}
else
{
fileList.add(parentFile);
nameList.add(parentFile.getName());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -