用GZIP进行简单压缩
GZIP接口非常简单,如果我们只想对单个数据流(而不是一系列互异数据)进行压缩,它可能比较适合。代码如下:
//用GZIP进行简单压缩
import java.io.*;
import java.util.zip.*;
class GZIPcompress
{
public static void main(String[] args) throws IOException
{
if(args.length == 0)
{
System.out.println("Usage:\nGZIPcompress file\nUses GZIP compression to compress the file to test.gz");
System.exit(1);
}
//写压缩文件入磁盘
BufferedReader in = new BufferedReader(new FileReader(args[0]));
BufferedOutputStream out = new BufferedOutputStream(
new GZIPOutputStream(new FileOutputStream("test.gz")));
System.out.println("Writing file");
int c;
while((c = in.read()) != -1)
{
out.write(c);
}
in.close();
out.close();
//从磁盘读取压缩文件
System.out.println("Reading file");
BufferedReader in2 = new BufferedReader(
new InputStreamReader(new GZIPInputStream(new FileInputStream("test.gz"))));
String s;
while(( s = in2.readLine()) != null)
{
System.out.println(s);
}
}
}
结构模式(Structural Pattern)小结
结构模式(Structural Pattern)一共有七种,分别是:适配器模式、装饰模式、合成模式、代理模式、享元模式、门面模式、桥梁模式。
大致总结如下:
