JAVAutil。拉链Java中的DeflaterOutputStream类

JAVAutil。拉链Java中的DeflaterInputStream类

null

此类实现了一个输出流过滤器,用于以“deflate”压缩格式压缩数据。它还被用作其他类型压缩过滤器的基础,例如GZIPOutputStream。 构造函数和描述

  • DeflaterOutputStream(输出流输出): 创建具有默认压缩器和缓冲区大小的新输出流。
  • DeflaterOutputStream(OutputStream out,布尔同步刷新): 使用默认压缩器、默认缓冲区大小和指定的刷新模式创建新的输出流。
  • DeflaterOutputStream(OutputStream out,Deflater def): 使用指定的压缩器和默认缓冲区大小创建新的输出流。
  • DeflaterOutputStream(OutputStream out、Deflater def、布尔同步刷新): 使用指定的压缩器、刷新模式和默认缓冲区大小创建新的输出流。
  • DeflaterOutputStream(OutputStream out、Deflater def、int size): 创建具有指定压缩器和缓冲区大小的新输出流。
  • DeflaterOutputStream(OutputStream out、Deflater def、int size、boolean syncFlush): 使用指定的压缩器、缓冲区大小和刷新模式创建新的输出流。

方法:

  • void close(): 将剩余的压缩数据写入输出流并关闭底层流。
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterOutputStream
    Throws:
    IOException
  • 受保护的空隙放气(): 将下一个压缩数据块写入输出流。
    Syntax :protected void deflate()
                    throws IOException
    Throws:
    IOException
  • void finish(): 完成将压缩数据写入输出流而不关闭底层流。
    Syntax :public void finish()
                throws IOException
    Throws:
    IOException
  • 无效刷新(): 刷新压缩的输出流。
    Syntax :public void flush()
               throws IOException
    Overrides:
    flush in class FilterOutputStream
    Throws:
    IOException
  • 无效写入(字节[]b,int off,int len): 将字节数组写入压缩输出流。
    Syntax :public void write(byte[] b,
             int off,
             int len)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws:
    IOException
  • 无效写入(int b): 将一个字节写入压缩的输出流。
    Syntax :public void write(int b)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the byte to be written
    Throws:
    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();
}
}


注: 程序的输出在在线IDE上不会显示为file2。这里无法读取txt。

本文由 尼森特·夏尔马 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享