`

16、java.lang.System类

阅读更多

一、System类

 

  1. System是final类
  2. 构造函数是私有的,不能被实例化。
  3. 类中的方法和属性都是静态的。
  4. 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;
  5. 对外部定义的属性和环境变量的访问;
  6. 加载文件和库的方法;
  7. 还有快速复制数组的一部分的实用方法。 

二、常用属性和方法

 

public final class System {

    /* First thing---register the natives */
    private static native void registerNatives();
    static {
        registerNatives();
    }

    /** Don't let anyone instantiate this class */
    private System() {
    }

	//字段********************************************************

	//“标准”输入流。此流已打开并准备提供输入数据。默认设备是键盘
    public final static InputStream in = nullInputStream();

	//“标准”输出流。此流已打开并准备接受输出数据。默认设备是dos窗口
    public final static PrintStream out = nullPrintStream();

	//“标准”错误输出流。此流已打开并准备接受输出数据。
    public final static PrintStream err = nullPrintStream();


	//方法************************************************************

	//终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
	public static void exit(int status){}

	//运行垃圾回收器
	public static void gc(){}

	//返回一个不能修改的当前系统环境的字符串映射视图
	public static Map<String,String> getenv(){}

	//获取指定的环境变量值。环境变量是一个取决于系统的外部指定的值,操作系统环境,比如环境变量path等
	public static String getenv(String name){}

	//确定当前的系统属性。jvm环境
	public static Properties getProperties(){}

	//获取指定键指示的系统属性。
	public static String getProperty(String key){}

	//将系统属性设置为 Properties 参数。
	public static void setProperties(Properties props){}

	//设置指定键指示的系统属性。
	public static String setProperty(String key,
                                 String value){}

	//重新分配“标准”错误输出流。
	public static void setErr(PrintStream err){}

	//重新分配“标准”输入流
	public static void setIn(InputStream in){}

	//重新分配“标准”输出流。
	public static void setOut(PrintStream out){}
}

 

三、java.util.Properties类

 

  1. Properties 类表示了一个持久的属性集。
  2. 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
  3. Properties 可保存在流中或从流中加载。
  4. 属性列表中每个键及其对应值都是一个字符串。
  5. 因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。
  6. 但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项。
  7. 相反,应该使用 setProperty 方法。
  8. 如果在“不安全”的 Properties 对象(即包含非 String 的键或值)上调用 store,list,propertyNames方法,则该调用将失败。
public class Properties extends Hashtable<Object,Object>
{
	//字段****************************************

	//一个属性列表,包含属性列表中所有未找到值的键的默认值
	protected Properties defaults;

	//构造方法****************************************
	
	//创建一个无默认值的空属性列表。
	public Properties(){}

	//创建一个带有指定默认值的空属性列表。
	public Properties(Properties defaults){}


	//常用方法****************************************
	
	//用指定的键在此属性列表中搜索属性,如果未找到属性,则此方法返回 null。 
	public String getProperty(String key){}

	//用指定的键在属性列表中搜索属性,如果未找到属性,则此方法返回默认值变量
	public String getProperty(String key,
                          String defaultValue){}

	//将属性列表输出到指定的输出流。
	public void list(PrintStream out){}
	public void list(PrintWriter out){}

	/**
	 *从输入流中读取属性列表(键和元素对)。
	 *输入流按 load(Reader) 中所指定的、简单的面向行的格式,
	 *并假定使用 ISO 8859-1 字符编码;所以汉字会出现乱码
	 */
	public void load(InputStream inStream)
          throws IOException{}
	public void load(Reader reader)
          throws IOException{}

	//将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。
	public void loadFromXML(InputStream in)
                 throws IOException,
                        InvalidPropertiesFormatException{}

	//返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
	public Enumeration<?> propertyNames(){}

	//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果
	public Object setProperty(String key,
                          String value){}

	//以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流
	public void store(OutputStream out,
                  String comments)
           throws IOException{}

	//以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符
	public void store(Writer writer,
                  String comments)
           throws IOException{}

	//发出一个表示此表中包含的所有属性的 XML 文档。comment是注释
	public void storeToXML(OutputStream os,
                       String comment)
                throws IOException{}

	//使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档
	public void storeToXML(OutputStream os,
                       String comment,
                       String encoding)
                throws IOException{}
	/**
	 *返回此属性列表中的键集,
	 *其中该键及其对应值是字符串,
	 *如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。
	 *其键或值不是 String 类型的属性被忽略。
	 */
	public Set<String> stringPropertyNames(){}


	//其他方法继承自HashTable和Object
}

 

分享到:
评论

相关推荐

    maven-resources-production java.lang.NegativeArraySizeException

    maven-resources-production java.lang.NegativeArraySizeException java.lang.NegativeArraySizeException 问题解决

    java.lang.OutOfMemoryError: Java heap space 解决方法

    2. 手动回收垃圾:可以使用 `System.gc()` 方法来手动回收垃圾。 3. 及时释放资源:及时释放内存、数据库连接等资源,以避免内存泄露。 其他解决方法 1. 使用 Java 提供的垃圾回收机制:Java 提供了多种垃圾回收...

    (最终解决)java.lang.UnsatisfiedLinkError解决尝试

    2. 使用`java.lang.ClassLoader.loadLibrary()`代替`System.loadLibrary()`,这样可以提供更精确的库文件路径。 3. 检查是否有其他依赖库冲突,有时多个库可能使用相同的名字,导致加载混乱。 最后,博客链接...

    java.lang.NumberFormatException For inputstring 4294967295处理方法

    在Java编程中,`java.lang.NumberFormatException`是一个常见的运行时异常,它通常发生在尝试将一个字符串转换为数值类型(如int、long、float或double)时,但该字符串无法被解析为有效的数值。"For input string: ...

    记录java.lang.OutOfMemoryErrorJava heap space的情况.docx

    1. 避免无谓的System.gc()调用,让JVM自行决定最佳的垃圾回收时机。 2. 调整堆大小,确保有足够的空间容纳程序运行所需的对象。 3. 使用对象池来复用对象,减少新对象的创建。 4. 使用合适的对象类型,避免创建不必...

    java.lang包介绍

    `java.lang`包中最基本的类是`Object`,它是所有类层次结构的根,而`Class`类的实例则代表运行时的类。 `java.lang`包包括以下关键类: 1. **Boolean**: 表示布尔值`true`和`false`。 2. **Long, Short, Byte, ...

    java.lang.ExceptionInInitializerError异常的解决方法

    System.out.println("result is:" + result); LIST_A.add("haha"); return sps; } public static StaticParamsSingle getInstance() { return sps; } private static int getA() { System.out.println(...

    用于测试使用java.lang.System的代码的JUnit规则集合

    在`java.lang.System`类中,有如`System.out`、`System.in`和`System.err`这样的全局变量,它们分别代表了标准输出、标准输入和标准错误流。在常规的测试环境中,这些流的输出很难捕获和控制。然而,使用`system-...

    java.lang.System类.pdf

    Java中的`java.lang.System`类是Java核心库中不可或缺的一部分,它是系统级操作的主要入口点。这个类提供了很多静态字段和方法,用于处理系统级别的任务,如输入输出流管理、系统属性获取、时间戳获取以及资源加载等...

    system-rules, 用于测试使用 java.lang.System的代码的JUnit规则的Collection.zip

    system-rules, 用于测试使用 java.lang.System的代码的JUnit规则的Collection 系统规则 系统规则是用于测试使用 java.lang.System的代码的JUnit规则的Collection 。安装系统规则可以从 Maven 中心使用。&lt;dependency&gt;...

    java.lang研究

    Java语言的核心库之一就是`java.lang`包,它包含了Java程序设计中最基础的类和接口,这些类和接口是每个Java应用程序必不可少的。由于`java.lang`包在编译时自动导入,因此程序员无需显式引入。本章将详细探讨这个...

    Android 出现:java.lang.NoClassDefFoundError...错误解决办法

    在Android开发过程中,有时会遇到一个常见的运行时异常——`java.lang.NoClassDefFoundError`。这个错误通常意味着在编译期间能够找到类的定义,但在运行时却无法加载该类。本文将深入探讨这个问题,特别是在Android...

    java_lang包详解.pdf

    java.lang包还包含了一些与安全、线程和内存管理相关的类,如SecurityManager用于安全管理,Thread和ThreadGroup是线程相关的类,ClassLoader负责加载类,ThreadLocal为每个线程提供独立的变量副本,而Runtime类提供...

    北大青鸟Java.lang.rar经典例子

    3. **System类**:`System`类提供了一些与系统环境相关的属性和方法,例如`System.out.println()`用于输出信息到标准输出流,`System.exit()`用来终止当前Java虚拟机。 4. **Math类**:包含了一些数学运算常量和...

    Android Caused by: java.lang.ClassNotFoundException解决办法

    08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现...

    Java java.lang.ExceptionInInitializerError 错误如何解决

    `java.lang.ExceptionInInitializerError` 是Java编程语言中一个特殊的运行时异常,它通常表示在类的静态初始化过程中发生了异常。这个错误不是因为类的构造函数,而是由于静态变量初始化或者静态初始化块(也称为...

    Java 异常java.lang.NoSuchFieldException解决方案

    在Java编程中,`java.lang.NoSuchFieldException`是运行时异常的一种,通常发生在尝试访问或操作一个类的字段,但该字段在指定的类或其任何超类中不存在时。这个异常表明在编译期间可能存在的字段在运行时无法找到,...

    反复重启无法进入桌面log

    05-27 15:35:11.487 E/AndroidRuntime( 2352): Process: com.android.systemui, PID: 2352 05-27 15:35:11.487 E/AndroidRuntime( 2352): java.lang.RuntimeException: Unable to create service ...

    org.aspectj.lang.annotation.Around所需要的包

    当我们遇到“java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around”这样的错误时,通常意味着在我们的项目中缺少了AspectJ库,这是Spring AOP实现的关键组成部分。 AspectJ是一个全面且成熟的...

Global site tag (gtag.js) - Google Analytics