亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jzjfilerecord.java

?? ∥顯示數據文件未壓縮大小及壓縮大小單行文本顯示域存儲隨機生成的數據
?? JAVA
字號:
package org.jr.jzj;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年3月3日
 * @author Cherami,Barney,Brain
 * @version 0.8
 */
import java.util.*;
import java.util.zip.*;

import org.jr.*;
import org.jr.io.*;
import org.jr.swing.table.*;
import org.jr.util.*;

/**
 * 壓縮文件的一個記錄項的抽象。
 * 根據區域設置其時間以及文件大小的表示方式,記錄的屬性用一個HashMap維護,這樣便于進行屬性的擴展。
 * 這個類實際上是一個工具類,將一個ZipEntry的信息進行解析。
 */

public class JZJFileRecord
    implements TableLineData, PropertyComparable {
  public static final int NAME = 0;
  public static final int SIZE = 1;
  public static final int PACK = 2;
  public static final int SCALE = 3;
  public static final int TIME = 4;
  public static final int TYPE = 5;
  public static final int PATH = 6;
  public final ZipEntry entry;

  private static JZJLogger logger = new JZJLogger(JZJFileRecord.class);
  private HashMap properties;
  private static final int COUNT = 7;
  private long size = 0;
  private long pack = 0;
  private float scale = 0.0f;
  private Date modifyTime;

  public static final String[] columnNames = new String[COUNT];
  public static final Class[] columnClasses = new Class[COUNT];
  static {
    columnNames[NAME] = "name";
    columnNames[SIZE] = "size";
    columnNames[PACK] = "pack";
    columnNames[SCALE] = "scale";
    columnNames[TIME] = "time";
    columnNames[TYPE] = "type";
    columnNames[PATH] = "path";
    columnClasses[NAME] = String.class;
    columnClasses[SIZE] = Long.class;
    columnClasses[PACK] = Long.class;
    columnClasses[SCALE] = Float.class;
    columnClasses[TIME] = Date.class;
    columnClasses[TYPE] = String.class;
    columnClasses[PATH] = String.class;
  }

  /**
   * 構造方法,在完成初始化的同時讀取記錄的所有屬性。
   * @param entry 原始信息
   */
  public JZJFileRecord(ZipEntry entry) {
    this.entry = entry;
    properties = new HashMap();
    getFileProperties();
    getDateTimeProperties();
    getSizeProperties();
  }

  /**
   * 記錄的字符串表示。
   * @return 記錄的字符串表示
   */
  public String toString() {
    StringBuffer sb = new StringBuffer();
    sb.append("JZJFileRecord:[");
    sb.append(properties.get("name")).append(",");
    sb.append(properties.get("size")).append(",");
    sb.append(properties.get("pack")).append(",");
    sb.append(properties.get("scale")).append(",");
    sb.append(properties.get("time")).append(",");
    sb.append(properties.get("type")).append(",");
    sb.append(properties.get("path"));
    sb.append("]");
    return sb.toString();
  }

  /**
   * 解析文件相關的屬性:文件名,擴展名,根目錄以及路徑。
   */
  private void getFileProperties() {
    String fileName = entry.getName();
    properties.put(columnNames[NAME], FileUtil.getNamePart(fileName));
    properties.put(columnNames[PATH], FileUtil.getPathPart(fileName));
    properties.put(columnNames[TYPE], FileUtil.getTypePart(fileName));
  }

  /**
   * 解析最后一次修改時間。
   */
  private void getDateTimeProperties() {
    modifyTime = new Date(entry.getTime());
    properties.put(columnNames[TIME], modifyTime);
  }

  /**
   * 解析大小屬性。
   */
  private void getSizeProperties() {
    size = entry.getSize();
    properties.put(columnNames[SIZE], new Long(size));
    pack = entry.getCompressedSize();
    properties.put(columnNames[PACK], new Long(pack));
    if (size == -1 || pack == -1) {
      properties.put(columnNames[SCALE], new Float(Float.NaN));
    }
    else {
      if (size == 0) {
        scale = 1.0f;
      }
      else {
        scale = (float) pack / (float) size;
      }
      properties.put(columnNames[SCALE], new Float(scale));
    }
  }

  /**
   * 得到原始的大小。
   * @return 記錄的大小
   */
  public long getSize() {
    return size;
  }

  /**
   * 得到壓縮后的大小。
   * @return 壓縮后的大小
   */
  public long getCompressedSize() {
    return pack;
  }

  /**
   * 得到壓縮比。
   * @return 壓縮比
   */
  public float getScale() {
    return scale;
  }

  /**
   * 得到最后修改日期。
   * @return 最后修改日期
   */
  public Date getModifyTime() {
    return modifyTime;
  }

  /**
   * 判斷兩個記錄是否是同一個記錄。
   * @param obj 要進行比較的另一個對象
   * @return 如果是同一類型并且私有entry成員相等則返回true,其他情況都返回false
   */
  public boolean equals(Object obj) {
    if (! (obj instanceof JZJFileRecord)) {
      return false;
    }
    return entry.equals( ( (JZJFileRecord) obj).entry);
  }

  /**
   * 返回記錄的hashcode,主要是為了和equals方法匹配。
   * 如果equals方法返回true,那么本方法返回的hashcode應該相同。
   * @return 記錄的hashcode。
   */
  public int hashCode() {
    return entry.hashCode();
  }

  /**
   * 得到數據的列數。
   * @return 數據的列數
   */
  public int getCount() {
    return COUNT;
  }

  /**
   * 得到指定列的值。
   * @param column 列
   * @return 指定列的值
   */
  public Object get(int column) {
    if (properties.containsKey(columnNames[column])) {
      return properties.get(columnNames[column]);
    }
    else {
      return "";
    }
  }

  /**
   * 設置指定列的值。
   * 目前不支持此方法,調用時會拋出UnsupportedOperationException。
   * @param column 列
   * @param value 值
   */
  public void set(int column, Object value) {
    throw new UnsupportedOperationException();
  }

  /**
   * 得到指定列的列名。
   * @param column 列
   * @return 對應的列名
   */
  public String getColumnName(int column) {
    return columnNames[column];
  }

  /**
   * 得到指定列的索引。
   * 不存在時返回-1。
   * @param columnName 列名
   * @return 對應的索引
   */
  public int getColumnIndex(String columnName) {
    return ArrayUtil.indexOf(columnNames, columnName);
  }

  /**
   * 得到全部列名的數組,按照位置排序。
   * @return 全部列名的數組
   */
  public String[] getColumnNames() {
    return columnNames;
  }

  /**
   * 得到指定列所屬的類。
   * @param column 列
   * @return 列所屬的類
   */
  public static Class getColumnClass(int column) {
    return columnClasses[column];
  }

  /**
   * 根據比較關鍵字進行比較
   * @param other 要比較的另一個對象
   * @param key 比較關鍵字
   * @return 根據比較關鍵字進行比較的結果,大于時返回值大于0,相等時返回0,小于時返回值小于0
   */
  public int compareTo(Object other, int key) {
    return compareTo( (JZJFileRecord) other, key);
  }

  /**
   * 根據比較關鍵字進行比較
   * @param other 要比較的另一個對象
   * @param key 比較關鍵字
   * @return 根據比較關鍵字進行比較的結果,大于時返回值大于0,相等時返回0,小于時返回值小于0
   */

  public int compareTo(JZJFileRecord other, int key) {
    int result = 0;
    switch (key) {
      case NAME:
      case TYPE:
      case PATH:
        result = ( (String) get(key)).compareToIgnoreCase( (String) other.get(
            key));
        break;
      case SIZE:
      case PACK:
        result = ( (Long) get(key)).compareTo(other.get(key));
        break;
      case SCALE:
        result = ( (Float) get(key)).compareTo(other.get(key));
        break;
      case TIME:
        result = ( (Date) get(key)).compareTo(other.get(key));
        break;
      default:
        result = 0;
    }
    /*if (result==0) {
      return compareAll(other);
         }*/
    return result;
  }

  /**
   * 以name為比較主鍵進行比較
   * @param o 另一個對象
   * @return 根據比較關鍵字進行比較的結果,大于時返回值大于0,相等時返回0,小于時返回值小于0
   */
  public int compareTo(Object o) {
    return compareAll( (JZJFileRecord) o);
  }

  /**
   * 以name為比較主鍵進行比較
   * @param o 另一個對象
   * @return 根據比較關鍵字進行比較的結果,大于時返回值大于0,相等時返回0,小于時返回值小于0
   */
  public int compareTo(JZJFileRecord o) {
    return compareAll(o);
  }

  private int compareAll(JZJFileRecord o) {
    int result = 0;
    result = ( (String) get(NAME)).compareTo(o.get(NAME));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(SIZE)).compareTo(o.get(SIZE));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(PACK)).compareTo(o.get(PACK));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(SCALE)).compareTo(o.get(SCALE));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(TIME)).compareTo(o.get(TIME));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(TYPE)).compareTo(o.get(TYPE));
    if (result != 0) {
      return result;
    }
    result = ( (String) get(PATH)).compareTo(o.get(PATH));
    if (result != 0) {
      return result;
    }
    return 0;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级一区二区| 在线观看一区二区视频| 麻豆成人免费电影| 日本最新不卡在线| 美女在线一区二区| 美女高潮久久久| 久久电影网电视剧免费观看| 国产一区在线看| 99久久国产综合色|国产精品| 91污在线观看| 欧美亚洲一区二区在线| 欧美视频一区二区三区| 欧美一区三区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 久久久久97国产精华液好用吗| www国产成人免费观看视频 深夜成人网| 久久综合久色欧美综合狠狠| 国产欧美精品一区二区三区四区| 成人欧美一区二区三区黑人麻豆 | 欧美午夜视频网站| 欧美日韩精品高清| xf在线a精品一区二区视频网站| 国产欧美日韩三级| 一区二区三区欧美日韩| 五月天婷婷综合| 国产精品一线二线三线精华| 91亚洲国产成人精品一区二三 | 精品捆绑美女sm三区| 久久久久99精品国产片| 一区二区三区四区激情| 美女爽到高潮91| 91在线看国产| 日韩欧美不卡在线观看视频| **性色生活片久久毛片| 免费成人结看片| 91欧美一区二区| 欧美精品一区二区久久久| 综合久久久久久| 老司机精品视频线观看86| 99在线热播精品免费| 91精品国产欧美一区二区成人| 国产精品女主播在线观看| 日韩精品福利网| 波多野结衣在线一区| 欧美一区二区精品在线| 亚洲综合激情网| www.av亚洲| 精品国产乱码久久久久久免费 | 国产婷婷一区二区| 午夜精品久久久久久久久久久 | 欧美不卡一区二区三区| 亚洲精品日日夜夜| 成人综合在线观看| 337p日本欧洲亚洲大胆精品 | 丁香婷婷深情五月亚洲| 91精品国产高清一区二区三区 | 精品一区中文字幕| 欧美色精品在线视频| 中文字幕中文在线不卡住| 国产精品原创巨作av| 欧美成人性战久久| 久久99国产精品久久| 91精品国产欧美一区二区| 亚洲国产视频直播| 欧美午夜在线观看| 亚洲一区二区三区中文字幕 | 精品国产自在久精品国产| 亚洲不卡在线观看| 欧美日韩精品欧美日韩精品一综合| 亚洲人成网站色在线观看| 成人高清在线视频| 一色桃子久久精品亚洲| 成人免费精品视频| 国产精品久久久久久久第一福利| 国产乱人伦偷精品视频不卡| 久久久三级国产网站| 国产露脸91国语对白| 久久久99久久精品欧美| 国产精品一品二品| 中文字幕av在线一区二区三区| 成人夜色视频网站在线观看| 亚洲欧美综合在线精品| 91美女在线看| 日韩主播视频在线| 欧美tickling挠脚心丨vk| 久久激情五月激情| 久久精品视频网| 波多野结衣在线一区| 一区二区三区四区亚洲| 欧美一卡2卡三卡4卡5免费| 激情久久久久久久久久久久久久久久| 精品国产3级a| 97久久超碰国产精品| 日韩在线播放一区二区| 欧美sm美女调教| 99精品视频中文字幕| 亚洲aaa精品| 精品国产一区二区三区不卡| www.欧美日韩| 美女看a上一区| 中文字幕一区二区在线观看| 欧美日韩国产在线观看| 精品一区二区三区的国产在线播放| 精品国产电影一区二区| 色婷婷av一区| 国产一区二三区| 亚洲最大成人网4388xx| 日韩欧美视频在线| 91啪亚洲精品| 国内精品国产成人国产三级粉色| 国产精品乱人伦| 日韩欧美在线综合网| 91网址在线看| 国内精品久久久久影院薰衣草| 中文字幕一区日韩精品欧美| 5566中文字幕一区二区电影| 懂色一区二区三区免费观看| 亚洲图片有声小说| 国产欧美在线观看一区| 欧美日韩一级黄| 97久久精品人人澡人人爽| 奇米影视一区二区三区| 亚洲精品菠萝久久久久久久| 精品国产人成亚洲区| 欧美日韩国产欧美日美国产精品| 国产成人免费高清| 美女网站在线免费欧美精品| 亚洲在线免费播放| 亚洲欧美影音先锋| 久久久亚洲高清| 5566中文字幕一区二区电影 | 欧美二区三区的天堂| 91亚洲精品久久久蜜桃网站| 国产一区二区电影| 性感美女极品91精品| 亚洲色图一区二区三区| 国产亚洲短视频| 久久一区二区三区四区| 欧美一区二区三区免费大片| 91久久国产综合久久| 99re热视频精品| kk眼镜猥琐国模调教系列一区二区| 国产一区二区三区在线观看精品| 偷拍一区二区三区| 一区二区三区四区蜜桃| 亚洲免费观看高清完整版在线观看熊| 亚洲国产精品精华液ab| 日韩三级.com| 精品视频1区2区| 欧美日韩一区二区三区四区| 91最新地址在线播放| 91片黄在线观看| 91国产福利在线| 欧美吞精做爰啪啪高潮| 欧美日韩一区中文字幕| 制服.丝袜.亚洲.中文.综合| 欧美日本在线播放| 日韩精品一区二区三区中文不卡| 欧美一激情一区二区三区| 日韩女优视频免费观看| 久久综合99re88久久爱| 久久色在线视频| 国产精品视频一二三| 综合久久一区二区三区| 午夜影视日本亚洲欧洲精品| 日本不卡视频在线| 国产精品亚洲成人| 91色乱码一区二区三区| 在线播放中文字幕一区| 精品粉嫩aⅴ一区二区三区四区| 国产欧美日韩不卡| 夜夜嗨av一区二区三区| 久久成人综合网| 成人黄色软件下载| 欧美日韩在线一区二区| 日韩区在线观看| 国产精品国产三级国产| 亚洲一区二区精品视频| 久久精品国产网站| 99免费精品在线| 欧美一卡2卡3卡4卡| 国产精品乱人伦中文| 日本欧美一区二区在线观看| 国产乱码精品一区二区三区av | 日韩小视频在线观看专区| 久久精品人人做| 五月天国产精品| 99视频精品免费视频| 欧美一级精品大片| 亚洲国产精品成人综合| 五月天中文字幕一区二区| 福利一区二区在线观看| 欧美日韩国产色站一区二区三区| 久久嫩草精品久久久精品| 亚洲综合免费观看高清完整版在线 | 日本特黄久久久高潮| 成人教育av在线| 欧美男男青年gay1069videost| 国产日韩欧美不卡在线| 七七婷婷婷婷精品国产|