1) 输入输出流
System.out(标准终端输出流)
System.err(标准错误输出流)
System.in(标准输入流)
我们可以重定向这些流,比如可以把System.out的输出重定向到一文件中去
System.setOut(PrintStream) 标准输出重定向
System.setErr(PrintStream) 标准错误输出重定向
System.setIn(InputStream) 标准输入重定向
例如下:
/* ByteArrayOutputStream是用来缓存数据的(数据写入的目标(output stream原义)),
* 向它的内部缓冲区写入数据,缓冲区自动增长,当写入完成时可以从中提取数据。
* 由于这个原因,ByteArrayOutputStream常用于存储数据以用于一次写入*/
ByteArrayOutputStream bos =
new
ByteArrayOutputStream();
FileWriter fw =
new
FileWriter(
new
File(
"e:/log.txt"
),
true
);
System.setOut (
new
PrintStream(bos));
//写各种操作/输出等,这些print会暂时保存在ByteArrayOutputStream的数组中
System.
out
.println(
"first insert"
);
System.
out
.println(
"second insert"
);
//最后把ByteArrayOutputStream数组中的数据append到文件中
fw.append(bos.toString());
fw.close();
2) 取当前时间
System.currentTimeMillis() 返回 long型值。这个值可以转换至Date或Timestamp值。 它一般还可以用来计算程序执行的时间.例如下:
Long t1 = System.currentTimeMillis ();
Thread.sleep (10);
Long t2 = System.currentTimeMillis ();
System.
out
.println(t2 - t1);
// 此处打印10
3) 数组拷贝
System.arraycopy(Object src, int src_position, Object dst, int dst_position, int 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}
4)存取系统的Properties
System.getProperties()
:取得当前所有的Properties,例如下:
System.
out
.println(System.getProperty (
"java.version"
));
//Java运行环境版本:[1.6.0_13]
System.
out
.println(System.getProperty (
"java.home"
));
//Java主目录:[D:\Program Files\myeclipse10.0\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre]
System.
out
.println(System.getProperty (
"file.separator"
));
//文件分隔符:[\]
System.
out
.println(System.getProperty (
"path.separator"
));
//路径分隔符:[;]
System.
out
.println(System.getProperty (
"user.name"
));
//用户名:[Administrator]
System.
out
.println(System.getProperty (
"user.dir"
));
//用户当前工作目录:[D:\MyEclipse 10\ javatest]
5)Library
System.
loadLibrary(String libname)
:
加载
native
的动态库。
可以用
C
写
JNI
的库,
然后在
java
中通过
native
方法来调用。
6)SecurityManager
System.setSecurityManager(SecurityManager s)和System.getSecurityManager(): 设置与取得系统的 security class
System.setSecurityManager(SecurityManager s)和System.getSecurityManager(): 设置与取得系统的 security class
---------------------------------------------------------------------------------------------------------------
现在发送在CSDN上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!