亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jarresourcesource.java

?? OSGI 的 源碼實現(xiàn),采用JAVA書寫
?? JAVA
字號:
/* * ModuleLoader - A generic, policy-driven class loader. * Copyright (c) 2004, Richard S. Hall * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *   * Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. *   * Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in *     the documentation and/or other materials provided with the *     distribution. *   * Neither the name of the ungoverned.org nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Contact: Richard S. Hall (heavy@ungoverned.org) * Contributor(s): ***/package org.ungoverned.moduleloader;import java.io.*;import java.util.jar.JarFile;import java.util.zip.ZipEntry;/** * <p> * This class implements a <tt>ResourceSource</tt> for retrieving resources * from a JAR file. The approach used by this implementation is to defer * opening the JAR file until a request for a resource is made. * </p> * @see org.ungoverned.moduleloader.ResourceSource**/public class JarResourceSource implements ResourceSource{    private static final int BUFSIZE = 4096;    private File m_file = null;    private JarFile m_jarFile = null;    private boolean m_opened = false;    /**     * <p>     * Constructs an instance using the specified file name as the source     * of the JAR file.     * </p>     * @param fileName the name of the JAR file to be used as the source.    **/    public JarResourceSource(String fileName)    {        m_file = new File(fileName);    }    /**     * <p>     * Constructs an instance using the specified file as the source     * of the JAR file.     * </p>     * @param file the JAR file to be used as the source.    **/    public JarResourceSource(File file)    {        m_file = file;    }    /**     * <p>     * Closes the JAR file if it has not already been closed.     * <p>    **/    protected void finalize()    {        if (m_jarFile != null)        {            try {                m_jarFile.close();            } catch (IOException ex) {                // Not much we can do, so ignore it.            }        }    }    /**     * <p>     * This method initializes the resource source. Since opening     * the JAR file is deferred until a request for a resource is     * actually made, this method really only sets a flag indicating     * that the resource source has been initialized.     * <p>    **/    public void open()    {        m_opened = true;    }    /**     * <p>     * This method deinitializes the resource source by closing     * the associated JAR file if it is open.     * <p>    **/    public synchronized void close()    {        try {            if (m_jarFile != null)            {                m_jarFile.close();            }        } catch (Exception ex) {            System.err.println("JarResourceSource: " + ex);        }        m_jarFile = null;        m_opened = false;    }    // JavaDoc comments are copied from ResourceSource.    public synchronized boolean hasResource(String name) throws IllegalStateException    {        if (!m_opened)        {            throw new IllegalStateException("JarResourceSource is not open");        }        // Open JAR file if not already opened.        if (m_jarFile == null)        {            try {                openJarFile();            } catch (IOException ex) {                System.err.println("JarResourceSource: " + ex);                return false;            }        }        try {            ZipEntry ze = m_jarFile.getEntry(name);            return ze != null;        } catch (Exception ex) {            return false;        } finally {        }    }    // JavaDoc comments are copied from ResourceSource.    public synchronized byte[] getBytes(String name) throws IllegalStateException    {        if (!m_opened)        {            throw new IllegalStateException("JarResourceSource is not open");        }        // Open JAR file if not already opened.        if (m_jarFile == null)        {            try {                openJarFile();            } catch (IOException ex) {                System.err.println("JarResourceSource: " + ex);                return null;            }        }        // Get the embedded resource.        InputStream is = null;        ByteArrayOutputStream baos = null;        try {            ZipEntry ze = m_jarFile.getEntry(name);            if (ze == null)            {                return null;            }            is = m_jarFile.getInputStream(ze);            if (is == null)            {                return null;            }            baos = new ByteArrayOutputStream(BUFSIZE);            byte[] buf = new byte[BUFSIZE];            int n = 0;            while ((n = is.read(buf, 0, buf.length)) >= 0)            {                baos.write(buf, 0, n);            }            return baos.toByteArray();        } catch (Exception ex) {            return null;        } finally {            try {                if (baos != null) baos.close();            } catch (Exception ex) {            }            try {                if (is != null) is.close();            } catch (Exception ex) {            }        }    }    private void openJarFile() throws IOException    {        if (m_jarFile == null)        {            m_jarFile = new JarFile(m_file);        }    }    public String toString()    {        return "JAR " + m_file.getPath();    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产91热久久久做人人 | 福利91精品一区二区三区| 91精品视频网| 日韩不卡一区二区| 91精品国产91久久综合桃花| 极品美女销魂一区二区三区| 久久久久国产精品免费免费搜索| 国产精品2024| 成人欧美一区二区三区白人 | 免费观看30秒视频久久| 日韩精品一区二区三区三区免费| 国产乱子伦一区二区三区国色天香| 国产欧美视频一区二区三区| av激情成人网| 亚洲一区二区在线播放相泽| 日韩欧美国产一二三区| 成人午夜在线视频| 亚洲欧美另类在线| 欧美一区二区三区性视频| 国产一区二区三区av电影| 中文字幕在线观看不卡视频| 欧美日韩亚洲综合在线| 国内精品视频666| 亚洲欧美日韩国产综合| 欧美一区二区三区小说| www.日韩av| 日韩avvvv在线播放| 国产精品久久夜| 欧美日韩视频在线观看一区二区三区| 日本色综合中文字幕| 国产精品视频你懂的| 欧美人牲a欧美精品| 国产成人午夜99999| 亚洲成人精品影院| 欧美国产激情二区三区| 欧美精品乱码久久久久久按摩| 国产精品亚洲午夜一区二区三区 | 欧美激情资源网| 欧美三级视频在线| 丁香啪啪综合成人亚洲小说| 日本系列欧美系列| 亚洲欧洲在线观看av| 日韩三级视频在线观看| 色综合一区二区三区| 九九精品视频在线看| 亚洲综合免费观看高清在线观看| 久久久久久久久免费| 7777精品伊人久久久大香线蕉 | 亚洲精品在线观| 欧美视频在线播放| www.综合网.com| 在线精品视频一区二区| 国产一区二区三区日韩| 偷拍一区二区三区| 一区二区三区日本| 成人欧美一区二区三区小说| 久久先锋影音av| 欧美tickle裸体挠脚心vk| 欧美日韩免费观看一区三区| 91在线视频观看| 国产盗摄视频一区二区三区| 久久电影网电视剧免费观看| 日韩国产精品91| 一区二区三区在线观看国产| 国产精品乱人伦一区二区| 久久奇米777| 精品久久一区二区三区| 日韩三级在线免费观看| 91精品在线免费观看| 欧美三级视频在线播放| 欧美日韩在线不卡| 欧美三级在线播放| 欧美日韩精品免费| 欧美另类高清zo欧美| 欧美乱妇一区二区三区不卡视频| 欧美三级电影一区| 欧美日韩国产乱码电影| 欧美精品一级二级| 7777精品久久久大香线蕉| 欧美日韩三级视频| 日韩一区二区三区精品视频| 欧美一区二区福利视频| 制服丝袜激情欧洲亚洲| 欧美一级黄色大片| 日韩精品一区二区三区在线播放 | 欧美影视一区二区三区| 日本精品裸体写真集在线观看| 91丨porny丨最新| 色综合色综合色综合| 在线视频综合导航| 欧美日韩一区二区三区视频| 欧美高清视频一二三区 | 亚欧色一区w666天堂| 亚洲精品第1页| 亚洲午夜av在线| 免费视频最近日韩| 国产精品一线二线三线| heyzo一本久久综合| 色猫猫国产区一区二在线视频| 欧美日韩亚洲综合在线 | 午夜私人影院久久久久| 日精品一区二区三区| 免费看黄色91| 国产一区二区三区黄视频| 成人教育av在线| 在线观看精品一区| 日韩视频永久免费| 中文字幕精品一区 | 青青草精品视频| 国产美女精品在线| 99久久国产综合精品麻豆| 欧美日韩亚洲综合一区二区三区| 亚洲综合久久久久| 经典三级在线一区| 色综合天天综合色综合av | 欧美少妇性性性| 亚洲精品一区二区三区香蕉| 国产精品久久久久影院色老大| 亚洲国产成人porn| 国产激情偷乱视频一区二区三区| 91福利国产精品| 国产日韩欧美亚洲| 天涯成人国产亚洲精品一区av| 国产成人精品综合在线观看| 在线国产电影不卡| 久久久综合精品| 视频在线观看国产精品| 欧美一区二区三区电影| 亚洲va在线va天堂| 久久99精品久久久久久国产越南 | 99久久国产免费看| 日韩一区二区三区观看| 专区另类欧美日韩| 九色|91porny| 欧美日韩黄视频| 亚洲男人的天堂网| 国产剧情一区二区三区| 欧美高清hd18日本| 亚洲在线免费播放| zzijzzij亚洲日本少妇熟睡| 精品久久一二三区| 视频一区二区中文字幕| 色综合色综合色综合| 亚洲国产精品精华液ab| 精品一区二区三区av| 欧美一区二区三区四区高清| 亚洲精品免费播放| 99久久婷婷国产综合精品电影| 亚洲精品一区二区三区四区高清 | 亚洲欧洲精品一区二区三区| 精品一区二区精品| 欧美一区二区日韩| 婷婷久久综合九色综合伊人色| 色偷偷久久一区二区三区| 国产精品卡一卡二卡三| 国产黄色精品网站| 久久综合九色综合欧美亚洲| 日韩av一级片| 欧美一区二区三区人| 午夜久久电影网| 欧美浪妇xxxx高跟鞋交| 亚洲一区二区三区四区在线| 91免费版在线| 亚洲精选视频免费看| 91热门视频在线观看| 亚洲免费在线观看视频| 99re成人精品视频| 自拍偷自拍亚洲精品播放| 91原创在线视频| 自拍偷拍国产精品| 色婷婷久久久综合中文字幕| 一区二区三区精品视频在线| 色88888久久久久久影院按摩| 亚洲精品欧美在线| 欧美视频你懂的| 日韩—二三区免费观看av| 欧美成人国产一区二区| 激情综合五月天| 国产精品女同互慰在线看| eeuss鲁片一区二区三区在线看| 国产精品理伦片| 欧美综合亚洲图片综合区| 亚洲123区在线观看| 欧美一级二级三级乱码| 99精品国产91久久久久久 | 久久久午夜精品| 成人动漫一区二区| 一区二区三区蜜桃| 欧美一区二区三区四区视频| 精品在线一区二区三区| 亚洲国产精品黑人久久久| 91美女片黄在线观看91美女| 亚洲成人www| 久久久无码精品亚洲日韩按摩| 国产91精品久久久久久久网曝门| 亚洲欧美欧美一区二区三区| 91精品国产色综合久久不卡电影| 激情综合五月婷婷| 亚洲欧美韩国综合色| 欧美一级二级在线观看|