zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题
java生成壓縮文件 ZipEntry出現(xiàn)亂碼的問(wèn)題
在項(xiàng)目中,一次導(dǎo)出的文件有好幾個(gè),而且文件內(nèi)容比較大,最后考慮到把文件進(jìn)行壓縮在下載,開(kāi)始試用JDK自帶的ZIP壓縮包時(shí),ZipEntry ze = new ZipEntry(fileName);//這是壓縮包名里的文件名 ?如果filename是中中文時(shí),文件名就會(huì)出現(xiàn)亂碼,最后換成apache的zip就沒(méi)有這個(gè)問(wèn)題了,相關(guān)的類(lèi)都在ant包里,import更新如下:
// import java.util.zip.ZipEntry;
// import java.util.zip.ZipOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
具體壓縮方法如下,文件路徑等內(nèi)容由于是測(cè)試直接寫(xiě)死在代碼中
/**
* 生成壓縮文件
* @param tBaseReportForm
*/
public void createZip(TBaseReportForm tBaseReportForm) throws Exception{
FileOutputStream fos = new FileOutputStream("d:/性能分析數(shù)據(jù)報(bào)表.zip");
BufferedOutputStream bos = new BufferedOutputStream(fos);
ZipOutputStream zos = new ZipOutputStream(bos);//壓縮包
for(String fileName : tBaseReportForm.getPrintFileName()){
File f = new File("d:/" + fileName);
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[1024];
int len;
ZipEntry ze = new ZipEntry(fileName);//這是壓縮包名里的文件名
zos.putNextEntry(ze);//寫(xiě)入新的 ZIP 文件條目并將流定位到條目數(shù)據(jù)的開(kāi)始處
while((len=bis.read(buf))!=-1)
{
zos.write(buf,0,len);
zos.flush();
}
fis.close();
bis.close();
}
zos.close();
}
1 樓
54五味子
2012-03-14
ant包在哪里啊?
哥哥
什么版本》?
總結(jié)
以上是生活随笔為你收集整理的zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 交叉编译HTOP并移植到ARM嵌入式Li
- 下一篇: Linux命令中的参数,linux中一些