实例 20 重定向输出流实现程序日志
java的文件输出流和c这类的文件比起来简直不是方便了一倍两倍啊。
System类的setOut方法可以修改输出流。
System类的out、err、in成员变量是final类的,不能直接赋值。要通过相应方法来改变流。
setOut()
用于重新分配System类标准输出流
setErr()
重新分配System的标准错误输出流
setIn()
重新分配System类的标准输入流
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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(); } } }