62,614
社区成员
发帖
与我相关
我的任务
分享
package io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipOutputStreamAndZipInputStream {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file = new File("F:"+File.separator+"test.txt");
File zipFile = new File("F:"+File.separator+"test.zip");
InputStream in = new FileInputStream(file);
ZipOutputStream zipout = new ZipOutputStream(new FileOutputStream(zipFile));
zipout.putNextEntry(new ZipEntry(file.getName()));
zipout.setComment("这是一个复杂的问题");
//zipout.setComment(new String("这是一个复杂的问题".getBytes("gbk"))); //还是不行
int temp = 0;
while((temp = in.read())!= -1){
zipout.write(temp);
}
in.close();
zipout.close();
}
}
public ZipOutputStream(OutputStream out, Charset charset)
使用这个构造方法,传入GBK,这样里面的文件名和注释都是GBK编码了