?? fileentry.java
字號:
/** * @(#)FileEntry.java 1.12 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.tools.javac.v8.util;import java.util.zip.*;import java.io.*;/** * A class that abstracts from the differences between Files and ZipEntries. */public abstract class FileEntry { public FileEntry() { super(); } /** * Same functionality as File.open(). */ public abstract InputStream open() throws IOException; /** * Same functionality as File.getName(). */ public abstract String getName(); /** * Same functionality as File.getPath(). */ public abstract String getPath(); /** * Same functionality as File.length(). */ public abstract long length(); /** * Same functionality as File.toString(). */ public String toString() { return getName(); } /** * An `undetermined' value for the `lastmod' modification date cache. */ private static final int UNDET = -2; /** * A cache for the modification date returned by lastModified(). */ private long lastmod = UNDET; /** * To be defined in subclass; same functionality * as File.lastModified(). */ abstract long lastMod(); /** * Same functionality as File.lastModified() */ public long lastModified() { if (lastmod == UNDET) lastmod = lastMod(); return lastmod; } /** * A subclass of FileEntry representing regular files. */ public static class Regular extends FileEntry { /** * The file's name. */ private String name; /** * The underlying file. */ File f; public Regular(String name, File f) { super(); this.name = name; this.f = f; } public InputStream open() throws IOException { return new FileInputStream(f); } public String getName() { return name; } public String getPath() { return f.getPath(); } public long length() { return f.length(); } long lastMod() { return f.lastModified(); } } /** * A subclass of FileEntry representing zip entries. */ public static class Zipped extends FileEntry { /** * The entry's name. */ private String name; /** * The zipfile containing the entry. */ ZipFile zdir; /** * The underlying zip entry object. */ ZipEntry entry; public Zipped(String name, ZipFile zdir, ZipEntry entry) { super(); this.name = name; this.zdir = zdir; this.entry = entry; } public InputStream open() throws IOException { return zdir.getInputStream(entry); } public String getName() { return name; } public String getPath() { return zdir.getName() + "(" + entry.toString() + ")"; } public long length() { return entry.getSize(); } long lastMod() { return entry.getTime(); } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -