package com.basic;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class makeZipBasic {
public static void main(String[] args) {
try {
Scanner sc=new Scanner(System.in);
System.out.println("输入1写入zip,2读入zip:");
int i=sc.nextInt();
switch(i){
case 1:
PrintWriter pt = new PrintWriter(new FileOutputStream(
new File("/home/absurd/a.txt")));//先写入一个文件
pt.print("dfsdfsdfsdfsdfsd1dfsfsd");
pt.close();
FileOutputStream fout= new FileOutputStream("/home/absurd/b.zip");//准备写入zip文件
ZipOutputStream zout= new ZipOutputStream(fout);
DataInputStream di = new DataInputStream(
new BufferedInputStream(new FileInputStream(
new File("/home/absurd/a.txt"))));//读入刚才写入文件
int c;
ZipEntry ze=new ZipEntry("1.txt");//文件1
zout.putNextEntry(ze);
while ((c = di.read()) != -1) {
zout.write(c);
}
di.close();
zout.closeEntry();
zout.close();
break;
case 2:
FileInputStream fin= new FileInputStream("/home/absurd/b.zip");//准备读入zip文件
ZipInputStream zipi=new ZipInputStream(fin);
ZipEntry entry;
while((entry=zipi.getNextEntry())!=null){
String name=entry.getName();
long crc32=entry.getCrc();
long size=entry.getSize();
System.out.println("name:"+name);
System.out.println("crc32:"+crc32);
System.out.println("size:"+size);
while ((c = zipi.read()) != -1) {
System.out.printf("%c",c);
}
}
zipi.close();
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.basic;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class makeZipBasic {
public static void main(String[] args) {
try {
PrintWriter pt = new PrintWriter(new FileOutputStream(
new File("/home/absurd/a.txt")));//先写入一个文件
pt.print("dfsdfsdfsdfsdfsd1dfsfsd");
pt.close();
FileOutputStream fout= new FileOutputStream("/home/absurd/b.zip");//准备写入zip文件
ZipOutputStream zout= new ZipOutputStream(fout);
DataInputStream di = new DataInputStream(
new BufferedInputStream(new FileInputStream(
new File("/home/absurd/a.txt"))));//读入刚才写入文件
int c;
ZipEntry ze=new ZipEntry("1.txt");//文件1
zout.putNextEntry(ze);
while ((c = di.read()) != -1) {
zout.write(c);
}
ObjectOutputStream bos=new ObjectOutputStream(new FileOutputStream(new File("/home/absurd/2.txt")));
bos.writeObject(new Student("www","001",60));
bos.close();
di = new DataInputStream(
new BufferedInputStream(new FileInputStream(
new File("/home/absurd/2.txt"))));//读入刚才写入文件
ze=new ZipEntry("2.txt");//文件1
zout.putNextEntry(ze);
while ((c = di.read()) != -1) {
zout.write(c);
}
File f=new File("/home/absurd/a.txt");
f.delete();
f=new File("/home/absurd/2.txt");
f.delete();
di.close();
zout.closeEntry();
zout.close();
FileInputStream fin= new FileInputStream("/home/absurd/b.zip");//准备读入zip文件
ZipInputStream zipi=new ZipInputStream(fin);
ZipEntry entry;
while((entry=zipi.getNextEntry())!=null){
String name=entry.getName();
long crc32=entry.getCrc();
long size=entry.getSize();
System.out.println("name:"+name);
System.out.println("crc32:"+crc32);
System.out.println("size:"+size);
// ZipFile z= new ZipFile(name);
// InputStream inp= z.getInputStream(entry);
while ((c = zipi.read()) != -1) {
System.out.printf("%d",c);
}
}
zipi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Student implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;
private String sno;
private int score;
public Student(String name, String sno, int score) {
super();
this.name = name;
this.sno = sno;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String toString(){
return getClass().getName()+"[name="+name+",sno="+sno+",score="+score+"]";
}
}