ZipEntry 类是java.util.zip包下的一个类,
ZipEntry 类用于表示 ZIP 文件条目。
利用这个类压缩和解压zip文件
具体压缩的例子如下:
import java.io.File;
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;
/**
- 压缩程序
- @author young
*/
public class SingleFileZip {
public static void main(String[] args) {
File file = new File(“e:/test.txt”);
FileInputStream fis = null;
ZipOutputStream zos = null;
try {
fis = new FileInputStream(file);
zos = new ZipOutputStream(new FileOutputStream(“e:/my.zip”));
// 创建压缩文件中的条目
ZipEntry entry = new ZipEntry(file.getName());
// 将创建好的条目加入到压缩文件中
zos.putNextEntry(entry);
// 写入当前条目所对应的具体内容
byte[] buff = new byte[1024];
int len = 0;
while ((len = fis.read(buff)) != -1) {
zos.write(buff, 0, len);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
fis.close();
zos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
解压例子如下:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
/**
- 解压程序
- @author young
*/
public class SingleFileUnZip {
public static void main(String[] args) {
FileOutputStream fos = null;
ZipInputStream zis = null;
InputStream is = null;
try {
ZipFile zf = new ZipFile("e:/my.zip");
zis = new ZipInputStream(new FileInputStream("e:/my.zip"));
fos = new FileOutputStream("e:/unzip.txt");
// 从压缩文件中获取一个条目
ZipEntry entry = zis.getNextEntry();
// 获得该条目对象的数据流
is = zf.getInputStream(entry);
byte[] buff = new byte[1024];
int len = 0;
while ((len = is.read(buff)) != -1) {
fos.write(buff, 0, len);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
is.close();
zis.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
今天的文章ZipEntry 类,zip的压缩与解压分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30101.html