Java中的系统类–Properties,System.out.println()
Java中的系统类是核心类之一,我从未见过任何不使用它的Java开发人员。
记录信息以进行调试的最简单方法之一是System.out.print()
函数。
系统类是最终的,其所有成员和方法都是静态的,因此我们不能通过继承来子类化和覆盖其行为。
Java中的系统类
Java中的系统类未提供任何公共构造函数。
因此,我们无法实例化此类(出于参数考虑,我们可以使用Java Reflection实例化该类),这就是其所有方法都是静态的原因。
其中我们将研究java.lang.System类提供的不同功能。
Java系统阵列复制
Java系统属性
读写控制台
Java系统获取当前时间
Java系统环境变量
安全经理
文件IO操作
杂项任务
Java系统阵列CopyJava System类提供了一种将数据从一个阵列复制到另一个阵列的本地方法。
这是一个本机实现,应该比复制数组数据的其他方法更快。
如果复制会导致超出数组范围的数据访问,则系统数组复制方法将抛出IndexOutOfBoundsException。
如果由于类型不匹配而导致无法将源数组中的元素存储到目标数组中,则还会抛出" ArrayStoreException";如果源数组或者目标数组为null,则抛出NullPointerException。
下面的示例程序演示了如何使用此方法。Java System PropertiesSystem类包含有用的方法,该方法可用于获取系统属性列表,获取特定属性,设置系统属性以及清除任何现有属性。
下面的示例程序显示了不同的方法及其用法。
如果在Java程序中运行以上代码,则会得到以下输出。
请注意,输出将根据您的系统配置而有所不同。
查看Java属性示例教程。
读写ConsoleJava系统类提供了一种获取与运行中的JVM相关联的唯一Console对象的方法.Java IO在1.6中引入了Console类,它提供了有用的方法来安全地打印格式化的数据和读取密码。
当前的JVM(例如通过Eclipse运行或者作为后台程序运行),然后返回null。
下面的示例程序显示System类的get Console对象并使用它。java System Get Current TimeSystem java中的System类提供了两种方法来获取当前时间(以毫秒为单位)和纳秒级时间。
我们可以使用毫秒为单位的时间来创建Date对象,nano time主要用于科学实验或者基准测试中。
使用System类方法获取与时间相关的信息。Java系统环境变量Java System类提供了一种以Map形式获取环境变量数据的方法,返回的Map是不可修改的,并且在String对象中包含键/值对。
Security ManagerSecurityManager类用于为应用程序实施安全策略,System类提供有用的方法来获取当前运行的JVM的SecurityManager并为应用程序设置SecurityManager。
文件IO OperationsSystem类包含三个字段-in,out和err。
它们用于从InputStream读取数据并将数据写入OutputStream.System类提供了一些方法来设置用于记录目的的不同类型的InputStream和OutputStream。
例如,我们可以将FileOutputStream设置为out和err字段,以便控制台输出写入文件。
下面的代码段显示了这些字段的用法,以及如何使用setter方法设置它们。
注意,在上面的try-block中使用了Java 7 try with resources功能。
- 杂项TasksSystem类为杂项任务提供了一些其他方法。
例如,要运行垃圾收集器,加载外部库,将库名称映射到特定于OS的String,为等待完成的任何对象运行finalize方法并终止JVM。