java笔记--重定向输出流实现程序输出到日志

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

利用System类中的setOut()方法,实现输出流的重定向,把它指向一个文件输出流,从而实现日志功能。
即:
程序运行后绘制控制台提示运行结束信息,但是在运行过程中的步骤都保存到了日志文件中。

主要方法
setOut():
重新分配System类的标准输出流。
public static void setOut(PrintStream out)
out表示新的输出流对象

setErr()
重新分配System类的标准错误输出流。
public static void setOut(PrintStream err)
err表示新的输出流对象

setIn()
重新设置System类的标准输入流。
public static void setIn(InputStream in)
in表示新的输入流对象

实例:

PrintStream ps = new PrintStream("./log.txt");
System.setOut(ps);
System.out.println("小明 ");
System.out.println("女 ");
System.out.println("23岁");

java笔记--重定向输出流实现程序输出到日志

时间: 2024-10-14 05:07:42

java笔记--重定向输出流实现程序输出到日志的相关文章

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

实例说明: System类中的out成员变量是Java的标准输出流,程序中经常用他来输出调试信息.out成员变量被定义成final类型的,无法直接重新复制,但是可以通过setOut()方法来设置新的输出流. 1 package com.zeone.lifeline.test; 2 3 import java.io.PrintStream; 4 5 public class RedirectOutputStream { 6 public static void main(String[] args

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

java的文件输出流和c这类的文件比起来简直不是方便了一倍两倍啊. System类的setOut方法可以修改输出流. System类的out.err.in成员变量是final类的,不能直接赋值.要通过相应方法来改变流. setOut() 用于重新分配System类标准输出流 setErr() 重新分配System的标准错误输出流 setIn() 重新分配System类的标准输入流 package test; import java.io.FileNotFoundException; import

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

public class RedirectOutputStream {       public static void main(String[] args) {try {PrintStream out = System.out;                 //保存原输出流PrintStream ps = new PrintStream("/log.txt"); //创建文件输出流System.setOut(ps);                            //设

Java笔记---Hadoop 2.7.1下WordCount程序详解

一.前言 在之前我们已经在 CenOS6.5 下搭建好了 Hadoop2.x 的开发环境.既然环境已经搭建好了,那么现在我们就应该来干点正事嘛!比如来一个Hadoop世界的HelloWorld,也就是WordCount程序(一个简单的单词计数程序) 二.WordCount 官方案例的运行 2.1 程序简介 WordCount程序是hadoop自带的案例,我们可以在 hadoop 解压目录下找到包含这个程序的 jar 文件(hadoop-mapreduce-examples-2.7.1.jar),

java中字符输入输出流在输出结果的结尾多一个乱码字符:'?'

原因以及解决方法: 核心方法如下: 1 public static void main(String[] args) throws Exception{ 2 // TODO Auto-generated method stub 3 4 FileReader fr=new FileReader("test.txt"); 5 FileWriter fw=new FileWriter("test2.txt"); 6 7 /*int b=0; 8 while(b!=-1){

DataInputStream(二进制输入流)和DataOutputStream二进制输出流(注意:in是从本地文件输入到程序中,out是从程序输出到本地种)

//切记以数据类型输出就以什么数据类型读入, //例如: dos.writeInt(100);写入,读取:dis.readUTF()有时会出现意想不到的错误,所以要时刻记得以数据类型输出就以什么数据类型读入 //DataInputStream(二进制输入流) public class DataInputStreamDemo { //二进制流(读操作) public static void main(String[] args) { FileInputStream fis = null; Data

Createprocess控制台程序输出重定向

在Windows编程中,并非每一个应用程序都需要一个图形用户界面(GUI),很多情况下,我们可以编写一个控制台应用程序,这样程序更小,加载更快,传输时间也短,同时也丝毫不牺牲程序应有的功能.这种程序特别适合那些在后台运行的程序,比如压缩.杀毒.上传下载等等.如果我们的确需要在GUI执行这些程序,以完成某些比如类似于磁盘格式化的功能,我们可以在GUI程序中创建一个新的进程,调用这些已有的控制台应用程序,帮助完成这些功能.然而令人失望的是,我们每次加载这些控制台应用程序时,图形程序总会在加载的过程中

Java 笔记(8)

JSP 技术 day8 JSP语法 + EL + JSTL day9 案例 2-3 个 综合小案例 day10 Servlet+JSP 综合练习 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP支持HTML语法,生成HTML方便. JSP技术与Servlet 技术区别和关系? JSP和Servlet技术都是用来动态生成网页的,Servlet不支持HTML语法,生成网页麻烦,JSP支持HTML语法,生

java笔记整理

Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 Linux/Unix笔记 inode :存储编号(地址) ls -k:查看磁盘分区 ls -li:显示当前文件的inode号. 目录的大小跟文件的大小有关,跟目录里的文件(目录)数量无关. 一行多个命令的话,中间用分号分开.如:pwd;cal;date last | grep