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

📄 xcachemanager.java

📁 XBrowser是一个完全免费并且开源的Web浏览器
💻 JAVA
字号:
/*****************************************************************              XBrowser  -  eXtended web Browser                **                                                               **           Copyright (c) 2000-2001  Armond Avanes              **     Refer to ReadMe & License files for more information      **                                                               **                                                               **                      By: Armond Avanes                        **       Armond555@yahoo.com     &    Armond333@yahoo.com        **                http://xbrowser.sourceforge.net/               ******************************************************************/package xbrowser.cache;import java.util.*;import java.net.*;import java.io.*;import xbrowser.*;public final class XCacheManager{	public void load()	{		try		{		String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getCacheIndexFileName();			XRepository.getConfiguration().getActiveCacheIndexSerializer().getSerializer().importCacheIndexes(file_name, this);		}		catch( Exception e )		{			XRepository.getLogger().warning(this, "An error occured on loading the cache indexes!");			XRepository.getLogger().warning(this, e);			clearCache();			//save();		}	}	public void save()	{		try		{		String file_name = XProjectConstants.CONFIG_DIR+XRepository.getConfiguration().getCacheIndexFileName();			XRepository.getConfiguration().getActiveCacheIndexSerializer().getSerializer().exportCacheIndexes(file_name, this);		}		catch( Exception e )		{			XRepository.getLogger().warning(this, "An error occured while saving the cache indexes!");			XRepository.getLogger().warning(this, e);		}	}    public void addCacheItem(XCacheItem cache_item)    {		cache.put(cache_item.getURL(), cache_item);	}    public Iterator getCacheItems()    {		return cache.values().iterator();	}	public void clearCache()	{	Iterator it = getCacheItems();		while( it.hasNext() )			((XCacheItem)it.next()).delete();		cache.clear();	}    /** Remove record about cached url. */    public void removeFromCache(String url)    {	XCacheItem cache_item = (XCacheItem)cache.get(url);		cache_item.delete();		cache.remove(url);		if( isCached(url))			XRepository.getLogger().error(this, "HOW???");	}    /** Returns File to write resource contained in url.     *  Will put url to cache; removeFromCache() if loading from url failed.     */    public File getFileToCache(String url) throws IOException    {        if( !isCached(url) )        {		File tmp = File.createTempFile("XBC", ".htm", cacheDir);		XCacheItem cache_item = new XCacheItem();            cache_item.setURL(url);            cache_item.setFileName( tmp.getCanonicalPath() );            cache.put(url, cache_item);            return tmp;        }        else            return ((XCacheItem)cache.get(url)).getFile();    }    /** Check for presence in cache. */    public synchronized boolean isCached(String url)    {        return cache.containsKey(url);    }    /** Set content type for cached thing. */    public void setContentType(String url, String content_type)    {	XCacheItem cache_item = (XCacheItem)cache.get(url);        cache_item.setContentType(content_type);    }    /** Return saved content type for url. */    public String getContentType(String url)    {        return ((XCacheItem)cache.get(url)).getContentType();    }// Attributes:    private Map cache = new HashMap();    private final static File cacheDir = new File(XProjectConstants.CACHE_DIR);}

⌨️ 快捷键说明

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