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]
相关文章推荐
- Java IO流学习总结
- 黑马程序员--java学习总结(11)
- java基础学习总结——数组
- 黑马程序员 Java学习总结之多线程基础
- 【学习日记】java多线程的知识点总结
- Java学习笔记第十天:2_修饰符的概述和总结
- java基础学习总结——线程(一)
- Java基础学习总结(40)——Java程序员最常用的8个Java日志框架
- Java第十二周学习总结
- 201521145048《java程序与设计》第9周学习总结
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
- Java基础知识学习总结(四)---Hashtable和HashMap的区别与联系分析
- java学习总结
- java学习宝典总结
- Mysql学习总结(53)——使用MySql开发的Java开发者规范
- Docker学习总结(24)——在Docker中监视Java应用程序的5种方法
- 我的Java学习总结
- Java Executor 框架学习总结
- JAVA学习总结3
- java学习总结(16.06.07)类的静态成员和非静态成员