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

📄 zipfilesystemview.java

📁 oraily的Swing hacks code
💻 JAVA
字号:
import java.io.*;import java.util.*;import java.util.zip.*;import javax.swing.filechooser.*;import javax.swing.Icon;public class ZipFileSystemView extends FileSystemView {        public ZipFileSystemView() throws IOException { }        public File createNewFolder(File file) { return null; }        public File createFileObject(File dir, String filename) {        if(dir instanceof ZipEntryFileProxy) {            ZipEntryFileProxy zdir = (ZipEntryFileProxy) dir;            return new ZipEntryFileProxy(zdir.zip, zdir.zipfile, filename, dir);        }        return super.createFileObject(dir,filename);    }        public File getChild(File dir, String filename) {        if(dir instanceof ZipEntryFileProxy) {            ZipEntryFileProxy zdir = (ZipEntryFileProxy) dir;            return new ZipEntryFileProxy(zdir.zip,zdir.zipfile,dir.getPath()+filename,dir);        }        return super.getChild(dir,filename);    }        public String getSystemDisplayName(File f) {        if(f instanceof ZipEntryFileProxy) {            return f.getName();        }        return super.getSystemDisplayName(f);    }        public File getParentDirectory(File dir) {        if(dir instanceof ZipEntryFileProxy) {            return dir.getParentFile();        }        return super.getParentDirectory(dir);    }    public File[] getFiles(File dir, boolean useFileHiding) {        if(dir.getName().endsWith(".zip")) {            ZipFileProxy proxy = new ZipFileProxy(dir);            File[] fs = proxy.getFiles("");            return fs;        }                if(dir instanceof ZipEntryFileProxy) {            return dir.listFiles();        }                return super.getFiles(dir,useFileHiding);    }        public Boolean isTraversable(File f) {        if(f.getName().endsWith(".zip")) {            return new Boolean(true);        }        if(f instanceof ZipEntryFileProxy) {            boolean b = ((ZipEntryFileProxy)f).isDirectory();            return new Boolean(b);        }        return super.isTraversable(f);    }    /* debuggin */                // public File createFileObject(String path) {        // p("create file object: " + path);    //     return super.createFileObject(path);    // }            // public static void p(String str) {    //     System.out.println(str);    // }}

⌨️ 快捷键说明

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