对于每天使用的System.out.println();我们是否想过system代表什么,后来一直想看一下,今天想起来了,就查看了一下javaAPI,满足了我的好奇心。相对于String类来说,System类的字段和方法算是比较少的了,现在对我所学的做一个小总结,也是在再学习的阶段吧
一:首先是关于system类的三个字段---in,out,err。in和out都可以重定向到其他文件,err只能输出到显示器。代码如下:
package com.j2se.system;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintStream;
public class Demo3 {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
/*
*
* System.out.println()与System.err.println()的异同
*/
System.out.println("Hello java");//两者都可在屏幕输出,但是out的输出时蓝字,err输出红字
System.err.println("Hello java");
/*
*
* System.out输出重定向
*/
PrintStream ps =new PrintStream(new FileOutputStream("c:\\work.txt"));
System.setOut(ps);
System.out.println("武汉");//out重定向
FileInputStream ip=new FileInputStream("c:\\work.txt");
System.setIn(ip);
byte[] a =new byte[1024];
System.in.read(a);
String s =new String(a);//输入重定向
System.err.println(s);//为了看到效果,用err打印
}
}
二:现在介绍一下system类的相关方法。①首先是arraycopy。这个比较好理解。代码如下:
package com.j2se.system;
public class Demo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array1 ={1,2,3,4,5};
int [] array2 ={0,0,0,0,0};
System.arraycopy(array1, 1, array2, 0, 4);//对于方法的使用
for(int i=0;i<array2.length;i++)
{
System.out.println(array2[i]);
}
}
}