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