//压缩文件```
package test;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipTxtFiles {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File root = new File("E:\\新建文件夹");
File target = new File("E:\\新建文件夹.zip");
File[] txtFiles = root.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith(".txt")) {
return true;
}
return false;
}
});
FileOutputStream fos = null;
ZipOutputStream zos = null;
FileInputStream fis = null;
try {
fos = new FileOutputStream(target);
zos = new ZipOutputStream(fos);
byte[] buffer=new byte[1024];
for (File txtFile : txtFiles) {
ZipEntry entry = new ZipEntry(txtFile.getName());
fis=new FileInputStream(txtFile);
zos.putNextEntry(entry);
int read=0;
while((read=fis.read(buffer))!=-1) {
zos.write(buffer, 0, read);
}
zos.closeEntry();
if(fis!=null) {
fis.close();
}
}
} catch (FileNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
} finally {
if(fis!=null) {
try {
fis.close();
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
if(zos!=null) {
try {
zos.close();
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
if(fos!=null) {
try {
fos.close();
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
}
}
}
//解压缩文件
package test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
public class UnzipTxtFiles {
public static void main(String[] args) {
// TODO Auto-generated method stub
File root = new File("E:\\新建文件夹.zip");
File target = new File("E:\\新建文件夹");
if(!target.exists())
target.mkdir();
ZipFile zf=null;
try {
zf=new ZipFile(root);
Enumeration<? extends ZipEntry> e=zf.entries();
while (e.hasMoreElements()) {
ZipEntry entry = (ZipEntry) e.nextElement();
if(!entry.getName().endsWith(".txt"))
continue;
File currentFile=new File(target+File.separator+entry.getName());
if(!currentFile.exists())
currentFile.createNewFile();
FileOutputStream fos=new FileOutputStream(currentFile);
InputStream in=zf.getInputStream(entry);
int buffer=0;
while ((buffer=in.read())!=-1) {
fos.write(buffer);
}
in.close();
fos.close();
}
} catch (ZipException e) {
// TODO: handle exception
e.printStackTrace();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
} finally {
if(zf!=null) {
try {
zf.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦