Java 中的 Java.util.zip .平减输出流类
原文:https://www . geesforgeks . org/Java-util-zip-pinteroutputstream-class-Java/
Java 中的 Java.util.zip .平减计算机流类
这个类实现了一个输出流过滤器,用于以“deflate”压缩格式压缩数据。它还被用作其他类型的压缩过滤器的基础,例如 GZIPOutputStream。 施工人员及说明
- 缩减输出流(输出流输出):使用默认压缩器和缓冲区大小创建新的输出流。
- 缩减输出流(输出流输出,布尔同步刷新):使用默认压缩器、默认缓冲区大小和指定的刷新模式创建新的输出流。
- 缩减输出流(输出流输出,缩减器定义):使用指定的压缩器和默认缓冲区大小创建新的输出流。
- 紧缩输出流(输出流输出,紧缩定义,布尔同步刷新):使用指定的压缩器、刷新模式和默认缓冲区大小创建新的输出流。
- 缩减输出流(输出流输出,缩减定义,int 大小):使用指定的压缩器和缓冲区大小创建新的输出流。
- 紧缩输出流(输出流输出,紧缩定义,int 大小,布尔同步刷新):使用指定的压缩器、缓冲区大小和刷新模式创建新的输出流。
方法:
-
void close() : 将剩余的压缩数据写入输出流,并关闭底层流。
java Syntax :public void close() throws IOException Overrides: close in class FilterOutputStream Throws: IOException
-
受保护的 void deflate() : 将下一个压缩数据块写入输出流。
java Syntax :protected void deflate() throws IOException Throws: IOException
-
void finish() : 完成向输出流写入压缩数据,而不关闭底层流。
java Syntax :public void finish() throws IOException Throws: IOException
-
清空冲洗():冲洗压缩的输出流。
java Syntax :public void flush() throws IOException Overrides: flush in class FilterOutputStream Throws: IOException
-
无效写入(字节[] b,int off,int len) : 向压缩的输出流写入一个字节数组。
java 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
-
void write(int b) : 向压缩的输出流中写入一个字节。
java 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();
}
}
注意:由于无法在此处读取 file2.txt,因此在线 IDE 上将看不到程序的输出。
本文由 尼尚·夏尔马 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处