Java学习总结2------System类

Class System

java.lang.Object
extended by java.lang.System

1.  输入输出流: 

(PrintStream) System.out (标准终端输出流), 
(PrintStream) System.err(标准错误输出流), 
(InputStream) System.in(标准输入流)。 
我们还可以重定向这些流, 比如将所有的System.out的输出全部重定向至一文件中去。 
System.setOut(PrintStream) 标准输出重定向
System.setErr(PrintStream) 标准错误输出重定向
System.setIn(InputStream) 标准输入重定向

View Code
1 import java.io.FileOutputStream;
2 import java.io.IOException;
3 import java.io.PrintStream;
4
5
6 public class TestPrintStream {
7 public static void main(String[] args)
8 {
9 PrintStream bb = null;
10 PrintStream old = null;
11 try
12 {
13 FileOutputStream aa = new FileOutputStream("d:/aa.txt");
14 bb = new PrintStream(aa);
15 old = System.out;// 保存下先前的输出到得对象
16 if (bb != null)
17 System.setOut(bb);
18 }
19 catch(IOException e)
20 {
21 e.printStackTrace();
22 }
23
24 for(int i=1;i<50;i++)
25 {
26 System.out.println(i);//输出到文件中
27 }
28
29 System.setOut(old);//再输出到console,而不是文件
30
31 System.out.println("the project is over!");//输出到console
32 }
33
34 }

2.  取当前时间:

System.currentTimeMillis() 所取到的时间是从1970/01/01以来毫秒(1/1000秒)计算的long型值。这个值可以转换至Date或Timestamp值。 它一般还可以用来计算程序执行的时间。例:

		  long beginTime = System. currentTimeMillis();
		  try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		  System.out.println("run time = " + (System.currentTimeMillis() - beginTime));

3.数组拷贝:

System.arraycopy(Object src,
int src_position, Object dst,
int dst_position, int length)

src: 源数组。

src_position: 源数组拷贝的起始位置。

dst: 目标数组

dst_position: 拷贝至目标数组的起始位置

length: 拷贝元素的长度

利用System.arraycopy进行数组的拷贝效率是最高的,
一般情况下我们自己很少直接用到这个方法,但在集合类的内部中都大量使用了这个方法。 

例:

int[] array1 = {1, 2, 3, 4,
5};

int[] array2 = {4, 5, 6, 7,
8};

int []array3=new int[8]; 

System.arraycopy(array1, 0,
array3, 0, 5);

System.arraycopy(array2, 2, array3, 5, 3);

此时array3 = {1, 2, 3, 4, 5, 6, 7, 8}

这比用for循环来进行赋值效率要高。

4. 存取系统的Properties:

System.getProperties():取得当前所有的Properties, Properties将在后面的集合一节进行详细的论述。

System.setProperties(Properties
props):设置系统的Properties。

System.getProperty(String
key): 根据一个键值来取得一个Property。

System.setProperty(String
key, String value): 设置系统的一个Property。

JVM起动的时候将会有一些缺省的Properties值, 例如:

java.version Java运行环境版本

java.home Java主目录 installation directory

java.class.path Java 的class path

java.ext.dirs Java的扩展目录路径

file.separator 文件分隔符("/" on UNIX)

path.separator 路径分隔符(":" on UNIX)

line.separator 行分隔符 ("\n" on UNIX)

user.name 用户名

user.home 用户主目录

user.dir 用户当前工作目录

posted @ 2011-06-22 22:31  lxmanutd  阅读(325)  评论(0编辑  收藏  举报