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

📄 jarclassloader.java

📁 webwork source
💻 JAVA
字号:
package webwork.util.classloader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.util.jar.JarFile;import java.util.zip.ZipEntry;import webwork.util.ClassLoaderUtils;/** * User: Hani Suleiman * Date: Oct 22, 2003 * Time: 3:56:56 PM */public class JarClassLoader extends WebworkClassLoader{  private JarFile jar;  private File file;  private long jarLastModified;  public JarClassLoader(File file, ClassLoader parent)  {    super(parent);    this.file = file;  }  public boolean isStale()  {    return new File(jar.getName()).lastModified() > jarLastModified;  }  protected URL getDataURL(String name, byte[] data) throws MalformedURLException  {    return new URL(null, file.toURL().toExternalForm() + '!' + name, new BytesURLStreamHandler(data));  }  private void openJar() throws IOException  {    if(jar == null)    {      jar = new JarFile(file);      jarLastModified = file.lastModified();    }  }  public synchronized byte[] getFile(String path)  {    try    {      openJar();      ZipEntry entry = jar.getEntry(path);      if(entry == null) return null;      InputStream in = jar.getInputStream(entry);      int size = (int)entry.getSize();      byte[] data = ClassLoaderUtils.readStream(in, size);      return data;    }    catch(IOException e)    {      return null;    }  }  public Object clone()  {    JarClassLoader loader = new JarClassLoader(file, getParent());    loader.packages = packages;    return loader;  }}

⌨️ 快捷键说明

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