⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deflateroutputstream.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
字号:
package java.util.zip;import java.io.FilterOutputStream;import java.io.IOException;import java.io.OutputStream;/* * Java core library component. * * Copyright (c) 1997, 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */public class DeflaterOutputStream  extends FilterOutputStream{	final private static int DEFAULT = 512;	protected Deflater def;	protected byte[] buf;public DeflaterOutputStream(OutputStream out) {	this(out, new Deflater(), DEFAULT);}public DeflaterOutputStream(OutputStream out, Deflater defx) {	this(out, defx, DEFAULT);}public DeflaterOutputStream(OutputStream out, Deflater defx, int size) {	super(out);	if (out == null)	  throw new NullPointerException("out");	if (defx == null)	  throw new NullPointerException("def");	def = defx;	if (size < 1)	  throw new IllegalArgumentException("size < 1");	buf = new byte[size];}public void close() throws IOException {	finish();	super.close();}protected void deflate() throws IOException {	do {		int r = def.deflate(buf, 0, buf.length);		out.write(buf, 0, r);	} while (!def.needsInput());}public void finish() throws IOException {	def.finish();	while (!def.finished()) {		deflate();	}}public void write(byte b[], int off, int len) throws IOException {	if (off < 0 || len < 0 || off + len > b.length)		throw new IndexOutOfBoundsException();		if(len != 0) {		def.setInput(b, off, len);		deflate();	}}public void write(int b) throws IOException {	byte a[] = new byte[1];	a[0] = (byte)b;	write(a, 0, 1);}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -