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

📄 deflater.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
字号:
/* * 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. */package java.util.zip;public class Deflater {  static {    System.loadLibrary("zip");  }  public static final int DEFLATED = 8;  public static final int NO_COMPRESSION = 0;  public static final int BEST_SPEED = 1;  public static final int BEST_COMPRESSION = 9;  public static final int DEFAULT_COMPRESSION = -1;  public static final int FILTERED = 1;  public static final int HUFFMAN_ONLY = 2;  public static final int DEFAULT_STRATEGY = 0;  private int strm;	// The number of the deflater stream.  private byte[] buf;  private int off;  private int len;  private int level;  private int strategy;  private boolean finish;  private boolean finished;  public Deflater(int lvl, boolean nowrap)  {    level = lvl;    buf = null;    len = 0;    off = 0;    strategy = DEFLATED;    finish = false;    finished = false;    init(nowrap);  }  public Deflater(int level)  {    this(level, false);  }  public Deflater()  {    this(DEFAULT_COMPRESSION, false);  }  public synchronized void setInput(byte b[], int o, int l)  {    buf = b;    off = o;    len = l;  }  public void setInput(byte b[])  {    setInput(b, 0, b.length);  }  public void setDictionary(byte b[])  {    setDictionary(b, 0, b.length);  }  public synchronized void setStrategy(int stgy)  {    if (stgy != DEFLATED) {      throw new IllegalArgumentException("only support deflation");    }    strategy = stgy;  }  public synchronized void setLevel(int lvl)  {    if ((level != DEFAULT_COMPRESSION) && (lvl < 0 || lvl > 9)) {      throw new IllegalArgumentException("levels 0-9 supported");    }    level = lvl;  }  public boolean needsInput()  {    return (len == 0 ? true : false);  }  public synchronized void finish()  {    finish = true;  }  public synchronized boolean finished()  {    return (finished);  }  public int deflate(byte b[])  {    return (deflate(b, 0, b.length));  }  protected void finalize() throws Throwable  {    /* We don't need to call super.finalize(),     * since super class is java.lang.Object, and     * java.lang.Object.finalize() just returns     * to caller.     */    end();  }  public native synchronized void setDictionary(byte b[], int off, int len);  public native synchronized int deflate(byte b[], int off, int len);  public native synchronized int getAdler();  public native synchronized int getTotalIn();  public native synchronized int getTotalOut();  public native synchronized void reset();  public native synchronized void end();  private native synchronized void init(boolean nowrap);}

⌨️ 快捷键说明

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