实例 20 重定向输出流实现程序日志

java的文件输出流和c这类的文件比起来简直不是方便了一倍两倍啊。

System类的setOut方法可以修改输出流。

System类的out、err、in成员变量是final类的,不能直接赋值。要通过相应方法来改变流。

setOut()

用于重新分配System类标准输出流

setErr()

重新分配System的标准错误输出流

setIn()

重新分配System类的标准输入流

package test;

import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

/**
 * @author 年浩
 *
 */
public class test {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try{
            PrintStream out = System.out;
            PrintStream ps = new PrintStream("./log.txt");//设置文件输出流
            System.setOut(ps);
            int age = 18;
            System.out.println("年龄变量定义成功,初始值为 "+age+" .");
            String sex = "女";
            System.out.println("性别变量定义成功,初始值为 "+sex+" .");
            String info = "这是一个"+sex+"孩子,今年"+age+"了";
            System.out.println("整合的变量info为:"+info);
            System.setOut(out);//回复原来的输出流
            System.out.println("程序执行完毕,请查看日志文件");
        }catch(FileNotFoundException e){
            e.printStackTrace();
            
        }

    }

}
View Code

 

posted @ 2016-04-14 23:49  超级学渣渣  阅读(132)  评论(0编辑  收藏  举报