您的位置:首页 > 编程语言 > Java开发

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

2011-06-22 22:31 351 查看

Class System

java.lang.Object
View Code [code] import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

public class TestPrintStream {
public static void main(String[] args)
{
PrintStream  bb = null;
PrintStream  old = null;
try
{
FileOutputStream aa = new FileOutputStream("d:/aa.txt");
bb = new PrintStream(aa);
old   =  System.out;// 保存下先前的输出到得对象
if (bb != null)
System.setOut(bb);
}
catch(IOException e)
{
e.printStackTrace();
}

for(int i=1;i<50;i++)
{
System.out.println(i);//输出到文件中
}

System.setOut(old);//再输出到console,而不是文件

System.out.println("the project is over!");//输出到console
}

}


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 用户当前工作目录

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: