????gzip??????????????????????????к????????????Ч??.??sun?????????jdk?а?????java.util.zip??????gzip??????????.???java???????????????gzip?????????.?????????????????????????.
????(???:gzip.java)
import java.io.*;
import java.util.zip.*;
public class gzip
{
public static void main(String[] args)
{
if (args.length !=2)
{
System.out.println("Usage:java gzip ");
System.exit(1);
}
try
{
//??????????????????????
FileInputStream fin=new FileInputStream(args[0]);
//???????????????
FileOutputStream fout=new FileOutputStream(args[1]);
//????gzip????????
GZIPOutputStream gzout=new GZIPOutputStream(fout);
byte[] buf=new byte[1024];//?趨???????????
int num;
while ((num=fin.read(buf)) != -1)
{
gzout.write(buf??0??num);
}
gzout.close();//!!!??????????????????????????.????????????????????????.
fout.close();
fin.close();
}catch(IOException e)
{
System.out.println(e);
}
}
}
(?????:unzip.java)
import java.io.*;
import java.util.zip.*;
public class ungzip
{
public static void main(String[] args)
{
if (args.length !=2)
{
System.out.println("Usage:java ungzip ");
System.exit(1);
}
try
{
//????gzip????????????
FileInputStream fin=new FileInputStream(args[0]);
//????gzip?????????
GZIPInputStream gzin=new GZIPInputStream(fin);
//???????????????
FileOutputStream fout=new FileOutputStream(args[1]);
byte[] buf=new byte[1024];
int num;
while ((num=gzin.read(buf??0??buf.length)) != -1)
{
fout.write(buf??0??num);
}
gzin.close();
fout.close();
fin.close();
}catch(IOException e)
{
System.out.println(e);
}
}
}