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

📄 directoryclassloader.java

📁 webwork source
💻 JAVA
字号:
package webwork.util.classloader;import java.io.*;import java.net.MalformedURLException;import java.net.URL;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import webwork.util.ClassLoaderUtils;/** * User: Hani Suleiman * Date: Oct 22, 2003 * Time: 3:57:08 PM */public class DirectoryClassLoader extends WebworkClassLoader{  private File directory;  private Map timestamps = new HashMap();  public DirectoryClassLoader(File file, ClassLoader parent)  {    super(parent);    this.directory = file;  }  public boolean isStale()  {    Iterator iter = timestamps.entrySet().iterator();    while(iter.hasNext())    {      Map.Entry entry = (Map.Entry)iter.next();      File toCheck = new File(directory, (String)entry.getKey());      long time = ((Long)entry.getValue()).longValue();      if(toCheck.lastModified() > time)      {        return true;      }    }    return false;  }  protected URL getDataURL(String name, byte[] data) throws MalformedURLException  {    return new URL(null, directory.toURL().toExternalForm() + '/' + name, new BytesURLStreamHandler(data));  }  public byte[] getFile(String path)  {    try    {      InputStream in = null;      int size = 0;      File f = new File(directory, path);      if(!f.exists()) return null;        size = (int)f.length();        in = new FileInputStream(f);        //we're ok not storing timestamps for jars, since the whole jar        //will be modified in that case.        timestamps.put(path, new Long(f.lastModified()));      byte[] data = ClassLoaderUtils.readStream(in, size);      return data;    }    catch(IOException e)    {      return null;    }  }  public Object clone()  {    DirectoryClassLoader loader = new DirectoryClassLoader(directory, getParent());    loader.packages = packages;    return loader;  }}

⌨️ 快捷键说明

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