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

📄 system.java

📁 This is a resource based on j2me embedded,if you dont understand,you can connection with me .
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * @(#)System.java	1.124 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 java.lang;import java.io.*;import java.util.Properties;import java.util.PropertyPermission;import java.util.StringTokenizer;import java.security.AccessController;import java.security.PrivilegedAction;import java.security.AllPermission;import sun.net.InetAddressCachePolicy;//import sun.reflect.Reflection;import sun.security.util.SecurityConstants;import com.sun.cdc.config.PackageManager;import com.sun.cdc.config.DynamicProperties;import com.sun.cdc.config.PropertyProvider;/** * The <code>System</code> class contains several useful class fields * and methods. It cannot be instantiated. * <p> * Among the facilities provided by the <code>System</code> class * are standard input, standard output, and error output streams; * access to externally defined "properties"; a means of * loading files and libraries; and a utility method for quickly * copying a portion of an array. * * @author  Arthur van Hoff * @version 1.114 05/18/01 * @since   JDK1.0 */public final class System {    /* First thing---register the natives */    /* No need to do this if ROMized    private static native void registerNatives();    static {        registerNatives();    }    */    /** Don't let anyone instantiate this class */    private System() {    }    /**     * The "standard" input stream. This stream is already     * open and ready to supply input data. Typically this stream     * corresponds to keyboard input or another input source specified by     * the host environment or user.     */    public final static InputStream in = nullInputStream();    /**     * The "standard" output stream. This stream is already     * open and ready to accept output data. Typically this stream     * corresponds to display output or another output destination     * specified by the host environment or user.     * <p>     * For simple stand-alone Java applications, a typical way to write     * a line of output data is:     * <blockquote><pre>     *     System.out.println(data)     * </pre></blockquote>     * <p>     * See the <code>println</code> methods in class <code>PrintStream</code>.     *     * @see     java.io.PrintStream#println()     * @see     java.io.PrintStream#println(boolean)     * @see     java.io.PrintStream#println(char)     * @see     java.io.PrintStream#println(char[])     * @see     java.io.PrintStream#println(double)     * @see     java.io.PrintStream#println(float)     * @see     java.io.PrintStream#println(int)     * @see     java.io.PrintStream#println(long)     * @see     java.io.PrintStream#println(java.lang.Object)     * @see     java.io.PrintStream#println(java.lang.String)     */    public final static PrintStream out = nullPrintStream();    /**     * The "standard" error output stream. This stream is already     * open and ready to accept output data.     * <p>     * Typically this stream corresponds to display output or another     * output destination specified by the host environment or user. By     * convention, this output stream is used to display error messages     * or other information that should come to the immediate attention     * of a user even if the principal output stream, the value of the     * variable <code>out</code>, has been redirected to a file or other     * destination that is typically not continuously monitored.     */    public final static PrintStream err = nullPrintStream();    /* The security manager for the system.     */    private static SecurityManager security = null;    /**     * Reassigns the "standard" input stream.     *     * <p>First, if there is a security manager, its <code>checkPermission</code>     * method is called with a <code>RuntimePermission("setIO")</code> permission     *  to see if it's ok to reassign the "standard" input stream.     * <p>     *     * @param in the new standard input stream.     *     * @throws SecurityException     *        if a security manager exists and its     *        <code>checkPermission</code> method doesn't allow     *        reassigning of the standard input stream.     *     * @see SecurityManager#checkPermission     * @see java.lang.RuntimePermission     *     * @since   JDK1.1     */    public static void setIn(InputStream in) {	checkIO();	setIn0(in);    }    /**     * Reassigns the "standard" output stream.     *     * <p>First, if there is a security manager, its <code>checkPermission</code>     * method is called with a <code>RuntimePermission("setIO")</code> permission     *  to see if it's ok to reassign the "standard" output stream.     *     * @param out the new standard output stream     *     * @throws SecurityException     *        if a security manager exists and its     *        <code>checkPermission</code> method doesn't allow     *        reassigning of the standard output stream.     *     * @see SecurityManager#checkPermission     * @see java.lang.RuntimePermission     *     * @since   JDK1.1     */    public static void setOut(PrintStream out) {	checkIO();	setOut0(out);    }    /**     * Reassigns the "standard" error output stream.     *     * <p>First, if there is a security manager, its <code>checkPermission</code>     * method is called with a <code>RuntimePermission("setIO")</code> permission     *  to see if it's ok to reassign the "standard" error output stream.     *     * @param err the new standard error output stream.     *     * @throws SecurityException     *        if a security manager exists and its     *        <code>checkPermission</code> method doesn't allow     *        reassigning of the standard error output stream.     *     * @see SecurityManager#checkPermission     * @see java.lang.RuntimePermission     *     * @since   JDK1.1     */    public static void setErr(PrintStream err) {	checkIO();	setErr0(err);    }    private static void checkIO() {        if (security != null)	    security.checkPermission(new RuntimePermission("setIO"));    }    private static native void setIn0(InputStream in);    private static native void setOut0(PrintStream out);    private static native void setErr0(PrintStream err);    /**     * Sets the System security.     *     * <p> If there is a security manager already installed, this method first     * calls the security manager's <code>checkPermission</code> method     * with a <code>RuntimePermission("setSecurityManager")</code>     * permission to ensure it's ok to replace the existing     * security manager.     * This may result in throwing a <code>SecurityException</code>.     *     * <p> Otherwise, the argument is established as the current     * security manager. If the argument is <code>null</code> and no     * security manager has been established, then no action is taken and     * the method simply returns.     *     * @param      s   the security manager.     * @exception  SecurityException  if the security manager has already     *             been set and its <code>checkPermission</code> method     *             doesn't allow it to be replaced.     * @see #getSecurityManager     * @see SecurityManager#checkPermission     * @see java.lang.RuntimePermission     */    public static    void setSecurityManager(final SecurityManager s) {        try {            s.checkPackageAccess("java.lang");        } catch (Exception e) {            // no-op        }        setSecurityManager0(s);    }    private static synchronized    void setSecurityManager0(final SecurityManager s) {	if (security != null) { 	    // ask the currently installed security manager if we 	    // can replace it. 	    security.checkPermission(new RuntimePermission				     ("setSecurityManager"));	}	if ((s != null) && (s.getClass().getClassLoader() != null)) {	    // New security manager class is not on bootstrap classpath.	    // Cause policy to get initialized before we install the new	    // security manager, in order to prevent infinite loops when	    // trying to initialize the policy (which usually involves	    // accessing some security and/or system properties, which in turn	    // calls the installed security manager's checkPermission method	    // which will loop infinitely if there is a non-system class	    // (in this case: the new security manager class) on the stack).	    AccessController.doPrivileged(new PrivilegedAction() {		public Object run() {		    s.getClass().getProtectionDomain().implies			(SecurityConstants.ALL_PERMISSION);		    return null;		}	    });	}	security = s;	InetAddressCachePolicy.setIfNotSet(InetAddressCachePolicy.FOREVER);    }    /**     * Gets the system security interface.     *     * @return  if a security manager has already been established for the     *          current application, then that security manager is returned;     *          otherwise, <code>null</code> is returned.     * @see     #setSecurityManager     */    public static SecurityManager getSecurityManager() {	return security;    }    /**     * Returns the current time in milliseconds.  Note that     * while the unit of time of the return value is a millisecond,     * the granularity of the value depends on the underlying     * operating system and may be larger.  For example, many     * operating systems measure time in units of tens of     * milliseconds.     *     * <p> See the description of the class <code>Date</code> for     * a discussion of slight discrepancies that may arise between     * "computer time" and coordinated universal time (UTC).     *     * @return  the difference, measured in milliseconds, between     *          the current time and midnight, January 1, 1970 UTC.     * @see     java.util.Date     */    public static native long currentTimeMillis();    /**     * Copies an array from the specified source array, beginning at the     * specified position, to the specified position of the destination array.     * A subsequence of array components are copied from the source     * array referenced by <code>src</code> to the destination array     * referenced by <code>dest</code>. The number of components copied is     * equal to the <code>length</code> argument. The components at     * positions <code>srcPos</code> through     * <code>srcPos+length-1</code> in the source array are copied into     * positions <code>destPos</code> through     * <code>destPos+length-1</code>, respectively, of the destination     * array.     * <p>     * If the <code>src</code> and <code>dest</code> arguments refer to the     * same array object, then the copying is performed as if the     * components at positions <code>srcPos</code> through     * <code>srcPos+length-1</code> were first copied to a temporary     * array with <code>length</code> components and then the contents of     * the temporary array were copied into positions     * <code>destPos</code> through <code>destPos+length-1</code> of the     * destination array.     * <p>     * If <code>dest</code> is <code>null</code>, then a     * <code>NullPointerException</code> is thrown.     * <p>     * If <code>src</code> is <code>null</code>, then a     * <code>NullPointerException</code> is thrown and the destination     * array is not modified.     * <p>     * Otherwise, if any of the following is true, an     * <code>ArrayStoreException</code> is thrown and the destination is     * not modified:     * <ul>     * <li>The <code>src</code> argument refers to an object that is not an     *     array.     * <li>The <code>dest</code> argument refers to an object that is not an     *     array.

⌨️ 快捷键说明

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