java重定向程序的标准输出System.out到文件

转载 2013年12月06日 09:52:47

http://outofmemory.cn/code-snippet/2307/java-redirect-program-standard-output-System-out-come-file

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
 * Main.java
 *
 * @author outofmemory.cn
 */
public class Main {

    /**
     *将System.out重定向到文件

     *
     */
    public void redirectSystemOut() {

        try {

            System.setOut(new PrintStream(new FileOutputStream("system_out.txt")));

 

//System.setOut(new PrintStream(new LoggerStream(Logger.getLogger("out"),Level.INFO, System.out)));

 

        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
            return;
        }

        System.out.println("This won't get displayed on the console, but sent to the file system_out.txt");

    }
    /**
     * 启动程序

     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().redirectSystemOut();
    }
}

 

 

public class LoggerStream extends OutputStream {

private final Logger logger;

private final Level logLevel;

private final OutputStream outputStream;

public LoggerStream(Logger logger, Level logLevel, OutputStream outputStream) {

super();

this.logger = logger;

this.logLevel = logLevel;

this.outputStream = outputStream;

}

@Override

 

public void write(byte[] b) throws IOException {

outputStream.write(b);

String string = new String(b);

if (!string.trim().isEmpty())

logger.log(logLevel, string);

}

@Override

 

public void write(byte[] b, int off, int len) throws IOException {

outputStream.write(b, off, len);

String string = new String(b, off, len);

if (!string.trim().isEmpty())

logger.log(logLevel, string);

}

@Override

 

public void write(int b) throws IOException {

outputStream.write(b);

String string = String.valueOf((char) b);

if (!string.trim().isEmpty())

logger.log(logLevel, string);

}

}

 

Java重定向标准输入/输出

Java的标准输入/输出分别通过System.in和System.out来代表,在默认的情况下分别代表键盘和显示器,当程序通过System.in来获得输入时,实际上是通过键盘获得输入。当程序通过Sys...
  • zhy_cheng
  • zhy_cheng
  • 2012-08-21 14:53:55
  • 19025

java中输入和输出重定向

在java小程序中,从键盘上输入大量的数值很麻烦,这时候,就可以用到java中的输入、输出重定向。...
  • euller
  • euller
  • 2016-03-24 22:26:58
  • 1404

Java中的输入和输出重定向

在Java程序中,如果需要输入大量的数值,那么从键盘上输入是非常繁琐的事。可以将这些数据用空格隔开,保存在一个名为input.txt的文本文件中,然后使用Java输入和输出重定向。例如需要循环求和计算...
  • jisuanjiguoba
  • jisuanjiguoba
  • 2017-07-28 14:17:31
  • 2224

swing 将system.out输出的信息重定向到JTEXTAREA

swing框架重定向控制台消息并且同步输出到JtextArea的解决思路及其中可能遇到的问题分析...
  • q19334473
  • q19334473
  • 2015-07-11 16:21:25
  • 1614

重定向控制台System.out.println输出到文件,再重定向回控制台

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; ...
  • jason_deng
  • jason_deng
  • 2012-07-09 18:14:37
  • 6525

Java从后台重定向(redirect)到另一个项目的方法

(1)通过ModelAndView跳转 @RequestMapping("alipayforward") public ModelAndView alipayforward(HttpServl...
  • aqsunkai
  • aqsunkai
  • 2016-05-11 15:10:08
  • 47591

Java基础-重定向输出流

起因在刚开始系统学习Java时,老师曾讲过System.setOut()方法,这是用来重定向输出流的,默认情况下System.out.println()方法会输出到控制台,在实际项目中,所需要输出的日...
  • Young4Dream
  • Young4Dream
  • 2017-04-01 23:53:39
  • 370

Java输入输出重定向!

public class ThreadTest {  public static void main(String[] args)throws Exception{   //输出重定向!   P...
  • Ashelyhss
  • Ashelyhss
  • 2012-06-07 16:31:24
  • 4301

System.out.print重定向到文件实例

该代码可以实现让System.out.print输出内容不再打印到控制台,而是输出到指定的文件中 package com.zken.testcase; import java.io.FileNot...
  • zkn_CS_DN_2013
  • zkn_CS_DN_2013
  • 2015-06-25 17:42:20
  • 1553

java怎么把system.out的东西输出到文件上

java怎么把system.out的东西输出到文件上 浏览(1836)|评论(0)   交流分类:Java|笔记分类: 未分类 RT,我们在程序里system.out的东西都是...
  • keti_xuetangyi
  • keti_xuetangyi
  • 2013-01-28 10:26:09
  • 2057
收藏助手
不良信息举报
您举报文章:java重定向程序的标准输出System.out到文件
举报原因:
原因补充:

(最多只允许输入30个字)