resource.java

来自「This is a resource based on j2me embedde」· Java 代码 · 共 129 行

JAVA
129
字号
/* * @(#)Resource.java	1.16 06/10/10 * * Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER   *    * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License version   * 2 only, as published by the Free Software Foundation.    *    * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * General Public License version 2 for more details (a copy is   * included at /legal/license.txt).    *    * You should have received a copy of the GNU General Public License   * version 2 along with this work; if not, write to the Free Software   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA   * 02110-1301 USA    *    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa   * Clara, CA 95054 or visit www.sun.com if you need additional   * information or have any questions.  * */package sun.misc;import java.net.URL;import java.io.IOException;import java.io.InputStream;import java.util.jar.Manifest;import java.util.jar.Attributes;/** * This class is used to represent a Resource that has been loaded * from the class path. * * @author  David Connelly * @version 1.10, 02/02/00 * @since   JDK1.2 */public abstract class Resource {    /**     * Returns the name of the Resource.     */    public abstract String getName();    /**     * Returns the URL of the Resource.     */    public abstract URL getURL();    /**     * Returns the CodeSource URL for the Resource.     */    public abstract URL getCodeSourceURL();    /**     * Returns an InputStream for reading the Resource data.     */    public abstract InputStream getInputStream() throws IOException;    /**     * Returns the length of the Resource data, or -1 if unknown.     */    public abstract int getContentLength() throws IOException;    /**     * Returns the Resource data as an array of bytes.     */    public byte[] getBytes() throws IOException {	byte[] b;        // Get stream before content length so that a FileNotFoundException        // can propagate upwards without being caught too early	InputStream in = getInputStream();	int len = getContentLength();	try {	    if (len != -1) {		// Read exactly len bytes from the input stream		b = new byte[len];		while (len > 0) {		    int n = in.read(b, b.length - len, len);		    if (n == -1) {			throw new IOException("unexpected EOF");		    }		    len -= n;		}	    } else {		// Read until end of stream is reached		b = new byte[1024];		int total = 0;		while ((len = in.read(b, total, b.length - total)) != -1) {		    total += len;		    if (total >= b.length) {			byte[] tmp = new byte[total * 2];			System.arraycopy(b, 0, tmp, 0, total);			b = tmp;		    }		}		// Trim array to correct size, if necessary		if (total != b.length) {		    byte[] tmp = new byte[total];		    System.arraycopy(b, 0, tmp, 0, total);		    b = tmp;		}	    }	} finally {	    in.close();	}	return b;    }	    /**     * Returns the Manifest for the Resource, or null if none.     */    public Manifest getManifest() throws IOException {	return null;    }    /**     * Returns theCertificates for the Resource, or null if none.     */    public java.security.cert.Certificate[] getCertificates() {	return null;    }}

⌨️ 快捷键说明

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