System类的作用详解
来源:互联网 发布:淘宝网店成功案例 编辑:程序博客网 时间:2024/06/04 01:38
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上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!
- System类的作用详解
- System.Threading包括的类及其作用
- system函数的作用
- System.map 的作用
- System.map的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map文件的作用
- System.map 文件的作用
- System.map 文件的作用
- System.exit()方法的作用
- alter system checkpoint的作用
- System.exit()方法的作用
- C语言的文件操作 freopen
- 基于winform的二进制图片数据的存取(用于数据库照片的读写处理)
- 搞IT也不能不懂“五险一金”啊
- hbase配置
- 本篇主要讲解在未使用其他框架(Spring)整合情况下,独立基于ActiveMQ,使用JMS规范进行消息通信。
- System类的作用详解
- svn del .svn
- Linux Mint 安装中文输入法
- Java:单例模式的七种写法
- 2: Making & Using Objects
- 2013.9.22 集合转换为数组:toArray() 和 toArray(User u[])
- 学习select(函数)
- Timer和TimerTask
- 获取当前项目的代码方法