常用类-System类
Java程序的运行平台
1、 System类提供了一些静态属性和方法,允许通过类名直接调用。
2、 System类提供了代表标准输入、标准输出、错误输出的类属性。
3、 System类提供了一些静态方法用于访问环境变量、系统属性的方法。
1 System类属性
static PrintStream | err “标准”错误输出流。 |
---|---|
static InputStream | in “标准”输入流。 |
static PrintStream | out “标准”输出流。 |
package com.qf.system_class;import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;public class Test01 {/*** 知识点:System(系统类)的属性*/public static void main(String[] args) {//系统标准的输入流(方向:控制台->程序)InputStream in = System.in;Scanner scan = new Scanner(in);String next = scan.next();//系统标准输出流(方向:程序->控制台)
// PrintStream out = System.out;
// out.println(next);//系统标准的错误输出流(方向:程序->控制台)PrintStream err = System.err;err.println(next);scan.close();}
}
package com.qf.system_class;public class Test02 {/*** 知识点:研究System.out 和 System.err*/public static void main(String[] args) {System.out.println("小明");System.err.println("小红");System.out.println("小强");}
}
2 System类方法
-
public static void exit(int status) 退出当前虚拟机
-
public static long currentTimeMillis() 获得当前系统的毫秒值(与1970 年 1 月 1 日午夜之间的时间差)–测试程序的消耗时间
-
public static Properties getProperties() 获得当前的所有系统属性
-
public static String getProperty(String key) 获得指定键的系统属性
-
public static void setIn(InputStream in) 输入重定向
-
public static void setOut(PrintStream out) 输出重定向
-
public static void setErr(PrintStream err) 错误重定向
-
public static void arraycopy(Object src,int srcPos,Object dest, int destPos, int length)
拷贝数组
package com.qf.system_class;import java.util.Arrays;
import java.util.Properties;public class Test03 {/*** 知识点:System(系统类)的方法*/public static void main(String[] args) {//获取自1970.1.1 0:0:0到现在的毫秒数long currentTimeMillis = System.currentTimeMillis();System.out.println("获取毫秒数:" + currentTimeMillis);//获取当前系统配置文件对象Properties properties = System.getProperties();System.out.println(properties);//通过配置文件里的键获取值String property = System.getProperty("os.name");System.out.println(property);//退出当前虚拟机(0表示正常提出)//System.exit(0);//拷贝数组String[] names = {"唐宇","唐亮","郭丹","基蒲","杨雪飞","侯小康","彭从升","张菁怡"};String[] newNames = new String[3];System.arraycopy(names, 1, newNames, 0, 3);//(原数组,开始下标,目标数组,开始下标,拷贝长度)System.out.println(Arrays.toString(newNames));//删除数组的功能System.arraycopy(names, 2, names, 1, 6);System.out.println(Arrays.toString(names));}
}