java压缩文件出现乱码问题
jywbd 2011-05-17 11:23:57 比方说,我的文件夹uploadFiles下有文件若干个,如:“图片1.jpg”,:“图片2.jpg”,:“图片3.jpg”3个图片文件
这些图片的文件名都是中文的名称,
我现在通过java压缩程序把这3个文件压缩后,然后下载下来,解压后,发现图片的中文名称全部是乱码了,请求帮助
,我需要解决中文问题,请不要把图片名称改为英文名称或数字哦?
我的代码如下:
public static void zipFiles(File[] srcfile,File zipfile){
byte[] buf=new byte[1024];
ZipOutputStream out=null;
try {
//ZipOutputStream类:完成文件或文件夹的压缩
out=new ZipOutputStream(new FileOutputStream(zipfile));
for(int i=0;i<srcfile.length;i++){
FileInputStream in=new FileInputStream(srcfile[i]);
out.putNextEntry(new ZipEntry(srcfile[i].getName()));
int len;
while((len=in.read(buf))>0){
out.write(buf,0,len);
}
out.flush();
out.closeEntry();
in.close();
}
out.close();
System.out.println("压缩完成.");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out !=null){
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}