expected 25847 but got 25900 bytes)
public void zip(File file,String fileFileName) throws IOException{
String classpath;
ZipOutputStream zos = null;
FileInputStream is = null;
ZipInputStream zipis = null;
try {
classpath = GetProjectRoot.getProjectRoot();
is = new FileInputStream(file);
// 把文件输入流转换为压缩输入流
zipis = new ZipInputStream(is);
zos= new ZipOutputStream(new FileOutputStream(classpath+"jpdl/"+fileFileName));
ZipEntry entry = null;
//验证是否包含一个xml文件和png图片,并将xml和png图片进行压缩
while ((entry = zipis.getNextEntry()) != null) {
if(entry.getName().indexOf(".xml")>0 || entry.getName().indexOf(".png")>0){//后缀不可能在第一位出现所以是>0
zos.putNextEntry(new ZipEntry(entry.getName()));
byte data[] = new byte[1024];
int len=0;
while((len=zipis.read(data))!=-1){
zos.write(data, 0, len);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(is!=null){
is.close();
}
if(zipis!=null){
zipis.close();
}
if(zos!=null){
zos.close();
}
}
}
public void zip(File file,String fileFileName) throws IOException{
String classpath;
ZipOutputStream zos = null;
FileInputStream is = null;
ZipInputStream zipis = null;
try {
classpath = GetProjectRoot.getProjectRoot();
is = new FileInputStream(file);
// 把文件输入流转换为压缩输入流
zipis = new ZipInputStream(is);
zos= new ZipOutputStream(new FileOutputStream(classpath+"jpdl/"+fileFileName));
ZipEntry entry = null;
//验证是否包含一个xml文件和png图片,并将xml和png图片进行压缩
while ((entry = zipis.getNextEntry()) != null) {
if(entry.getName().indexOf(".xml")>0 || entry.getName().indexOf(".png")>0){//后缀不可能在第一位出现所以是>0
zos.putNextEntry(new ZipEntry(entry.getName()));
byte data[] = new byte[1024];
int len=0;
while((len=zipis.read(data))!=-1){
zos.write(data, 0, len);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(is!=null){
is.close();
}
if(zipis!=null){
zipis.close();
}
if(zos!=null){
zos.close();
}
}
}
Java压缩XML与PNG文件
本文介绍了一种使用Java实现的将XML文件和PNG图片压缩到ZIP文件的方法。该方法通过ZipInputStream读取源文件,并利用ZipOutputStream将其写入目标ZIP文件中。文章详细展示了如何遍历文件内容并判断文件类型,确保只有指定类型的文件被压缩。
2710

被折叠的 条评论
为什么被折叠?



