强制关闭java的输出,关闭err输出,关闭out输出

    public static void main(String[] args) {
        System.err.println("错误日志输出");
        System.out.println("正常日志输出");
    }

正常输出:

正常日志输出
错误日志输出

  • 关闭out输出
    public static void main(String[] args) {
        PrintStream out = out();
        System.err.println("错误日志输出");
        System.out.println("正常日志输出");
        closeOut(out);
    }
  • 关闭err输出
    public static void main(String[] args) {
        PrintStream out = err();
        System.err.println("错误日志输出");
        System.out.println("正常日志输出");
        closeErr(out);
    }

完整代码

public class SelfStartingUtil {

    public static PrintStream out(){
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        System.setOut(new PrintStream(bos));
        return System.out;
    }

    public static void closeOut(PrintStream printStream){
        System.setOut(printStream);
    }

    public static PrintStream err(){
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        System.setErr(new PrintStream(bos));
        return System.out;
    }

    public static void closeErr(PrintStream printStream){
        System.setErr(printStream);
    }

    public static void main(String[] args) {
        PrintStream out = out();
        System.err.println("错误日志输出");
        System.out.println("正常日志输出");
        closeOut(out);
    }
}

在某些特定情况下,可以使用该方法强制关闭输出
关闭后,在out()方法中包含的输出语句块则都会关闭

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐