该原因是在写入文件时使用了压缩算法,或者在下载文件时使用了压缩格式。
如果在写入文件时使用了压缩算法,例如使用GZIPOutputStream或ZipOutputStream等类来写入文件,那么写入的文件就是压缩文件。
在下载文件时,如果使用了压缩格式,例如ZIP或GZIP等格式,那么下载下来的文件就是压缩包。
② java 如何将多个文件打包成一个zip后进行下载
打包压缩的如下:
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));
for(int i=0;i<fileList.size();i++){
String filename = (String)fileList.get(i);
File file = new File(filename);
zip(out,file);
}
out.close();
下载的如下:
private int blockSize=65000;
File file = new File(sourceFilePathName);
FileInputStream fileIn = new FileInputStream(file);
int readBytes = 0;
readBytes = fileIn.read(b, 0, blockSize);
totalRead += readBytes;
out.write(b, 0, readBytes);
代码大致如此,请参考。
③ java做下载功能的时候碰到了压缩文件已损坏是什么情况,单个文件(多个文件打包压缩)解压出来是可以用的
把下载压缩包后缀名改成.zip就可以了
④ java 下载的zip 文件损坏
你先将压缩好的文件夹 放在那里下载 试试 如果可以 就是压缩的问题 如果不行就是下载的问题 在Windows环境下还是Linux下 是否是权限问题