据说用java.util.zip压缩的话是要有这个中文问题,因为它好像在内部写死了编码方式,可以找找用别的类试试
解决方案 »
- poi 生成文件后缀不对
- hibernate如何用annotation设置树形结构
- Hibernate 多对一 怎样插入外键
- 关于 JasperReport 的问题(客户端与apply交互问题)
- 50分....求达人帮忙,写出服务器监听8080端口接收客户端信息过程!!!!!!!!!!!!!!!!!
- STRUTS中struts-config.xml该如何设置?
- 【JAVA】【张孝祥Java视频教程】
- ****CMP问题?100分相求!****
- java集成batik框架操作svg文件问题。。。
- hibernate与spring整合无法导出sessionFactory,请指教?
- 使用jfreechart做曲线图时,如何设置x轴和y轴的长度?如何设置纵坐标的初始值,比如我想把起点设置为500,间隔单位为2
- mysql5.0应该用什么版本的jdbc驱动?
改用ant.jar里面的压缩组件就行了
import java.io.*;
import java.util.*;
import java.io.File;
import org.apache.tools.zip.*;public class CDGGzip
{
//boolean packFrame = false;
private File srcPath =new File("d:"+File.separator+"邢晓宁");
private String outFilename=new String("d:"+File.separator+"邢晓宁.zip");
private int len=srcPath.listFiles().length;
private String[] filenames = new String[len];
public void setSrcPath(String src){
srcPath=new File(src);
}
public File getSrcPath(){
return srcPath;
}
public void setOutFilename(String out){
outFilename=out;
}
public String getOutFilename(){
return outFilename;
} public void gzip(){
byte[] buf = new byte[1024];
try {
File[] files = srcPath.listFiles();
for(int i=0;i<len;i++)
{
//if(!files[i].isDirectory())
filenames[i]=srcPath.getPath()+File.separator+files[i].getName();
}
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
for (int i=0; i<filenames.length; i++)
{
FileInputStream in = new FileInputStream(filenames[i]);
out.putNextEntry(new org.apache.tools.zip.ZipEntry(files[i].getName()));
int len;
while ((len = in.read(buf)) > 0)
{
out.write(buf, 0, len);
} out.closeEntry();
in.close();
} out.close();
}
catch (IOException e)
{
System.out.println(e);
}
}
public static void main(String arg[]){
CDGGzip cdggzip=new CDGGzip();
cdggzip.gzip();
}
}