System类

System类是一些与系统相关属性和方法的集合,而且System类中所有的属性都是静态的,要想引用这些属性和方法,直接使用System类调用即可。

//=================================================
// File Name       :	System_demo
//------------------------------------------------------------------------------
// Author          :	Common



//主类
//Function        : 	System_demo
public class System_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		long startTime = System.currentTimeMillis();	//取得开始计算之前的时间
		
		int sum = 0;					//累加操作
		for(int i=0;i<300000000;i++){
			sum += i;
		}
		
		long endTime = System.currentTimeMillis();	//取得开始计算之后的时间
		System.out.println("计算所花费的时间:"+(endTime-startTime)+"毫秒");
		
		System.getProperties().list(System.out);			//列出系统的全部属性
		
		System.out.println("系统版本为:"+System.getProperty("os.name")+System.getProperty("os.version")+System.getProperty("os.arch"));
		System.out.println("系统用户为:"+System.getProperty("user.name"));
		System.out.println("当前用户目录:"+System.getProperty("user.home"));
		System.out.println("当前用户工作目录:"+System.getProperty("user.dir"));
	}

}

垃圾对象的回收

System类中也有一个rc()方法,此方法也可以进行垃圾的收集,而且此方法实际上是对Runtime类中的gc()方法的封装,功能与其类似。

对一个对象进行回收,一个对象如果不再被任何栈内存所引用,那么此对象就可以被成为垃圾对象,等待被回收。实际上,等待的时间是不确定的,所以可以直接调用System.gc()方法进行垃圾的回收。

System类对IO的支持

<1>System.out

System.out是PrintStream的对象,在PrintStream中定义了一系列的print()和println()方法

<2>System.err

System.err表示的是错误信息输出,如果程序出现错误,则可以直接使用System.err进行输出

<2>System.in

System.in实际上是一个键盘的输入流,其本身是InputStream类型的对象,可以利用System.in完成从键盘读取数据的功能。

指定空间的大小会出现空间限制,不指定大小则会在输入中文的时候产生乱码

package System;

import java.io.InputStream;

//=================================================
// File Name       :	Systemin_demo
//------------------------------------------------------------------------------
// Author          :	Common





//主类
//Function        : 	Systemin_demo System;
public class Systemin_demo {

	public static void main(String[] args) throws Exception{
		// TODO 自动生成的方法存根
		InputStream input = System.in;			//从键盘接收数据
		byte b[] = new byte[1024];					//开辟空间,接收数据
		System.out.println("请输入内容:");
		int len = input.read(b);							//接收数据
		System.out.println("输入的内容:"+new String(b,0,len));
		input.close();
	}

}

输入/输出重定向

通过System类也可以改变System.in的输入流来源和System.out和System.err两个输出流的输出位置

原文地址:https://www.cnblogs.com/tonglin0325/p/5265084.html