java deflater_Java中的Java.util.zip.DeflaterOutputStream类 - Break易站

该类实现了一个输出流过滤器,用于压缩“deflate”压缩格式的数据。它也被用作其他类型压缩过滤器的基础,例如GZIPOutputStream。

构造函数和描述

DeflaterOutputStream(OutputStream out):用默认的压缩器和缓冲区大小创建一个新的输出流。

DeflaterOutputStream(OutputStream out,boolean syncFlush):使用默认压缩器,默认缓冲区大小和指定的刷新模式创建新的输出流。

DeflaterOutputStream(OutputStream out,Deflater def):用指定的压缩器和默认缓冲区大小创建一个新的输出流。

DeflaterOutputStream(OutputStream out,Deflater def,boolean syncFlush):用指定的压缩器,刷新模式和默认缓冲区大小创建新的输出流。

DeflaterOutputStream(OutputStream out,Deflater def,int size):用指定的压缩器和缓冲区大小创建一个新的输出流。

DeflaterOutputStream(OutputStream out,Deflater def,int size,boolean syncFlush):用指定的压缩器,缓冲区大小和flush模式创建一个新的输出流。

方法:

void close():将剩余的压缩数据写入输出流并关闭底层流。

语法: public void close()

throws IOException

覆盖:

FilterOutputStream

抛出:

IOException

protected void deflate():将下一个压缩数据块写入输出流。

语法: protected void deflate()

throws IOException

抛出:

IOException

void finish():完成将压缩数据写入输出流而不关闭基础流。

语法: public void finish()

throws IOException

抛出:

IOException

void flush():刷新压缩的输出流。

语法: public void flush()

throws IOException

覆盖:

FilterOutputStream

抛出:

IOException

void write(byte [] b,int off,int len):将一个字节数组写入压缩输出流。

语法: public void write(byte [] b,

int off,

int len)

throws IOException

覆盖:

在类FilterOutputStream中写入

参数:

b - 要写入的数据

off - 数据的起始偏移量

len - 数据的长度

抛出:

IOException

void write(int b):将一个字节写入压缩的输出流。

语法: public void write(int b)

throws IOException

覆盖:

在类FilterOutputStream中写入

参数:

b - 要写入的字节

抛出:

IOException

//Java program to demonstrate DeflaterOutputStream

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.zip.DeflaterOutputStream;

class DeflaterOutputStreamDemo

{

public static void main(String[] args) throws IOException

{

FileOutputStream fos = new FileOutputStream("file2.txt");

//Assign FileOutputStream to DeflaterOutputStream

DeflaterOutputStream dos = new DeflaterOutputStream(fos);

//write it into DeflaterOutputStream

for (int i = 0; i <10 ; i++)

{

dos.write(i);

}

//illustrating flush() method()

dos.flush();

//illustrating finish()

//Finishes writing compressed data to the output stream

// without closing the underlying stream

dos.finish();

//fos is not closed

//writing some data on file

fos.write('G');

//Writes remaining compressed data to the output stream

// closes the underlying stream.

dos.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值