gpt4 book ai didi

java - 如何预先设置流立即刷新

转载 作者:行者123 更新时间:2023-12-01 17:23:27 24 4
gpt4 key购买 nike

我正在 Netbeans IDE 中编写一个用于单元测试的包。现在我将执行语句的流程打印到 System.out while 错误语句为 System.error 。现在,由于它们是两个不同的流,因此它们打印的顺序不正确。我的意思是他们没有同步打印。我知道flush方法使语句立即打印,但在每个这样的语句之后编写它是乏味的。如何预先配置流以立即刷新。可能是在单元测试开始时?

我想要这个,因为我想利用 Netbeans 的两种不同颜色显示两个输出流。

此外,我的方法中的任何错误点和改进建议也非常受欢迎。

最佳答案

可能还有另一种可能性,所以尝试一下:

import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;

public class SystemOut {
public static void main(String[] args) {
System.out.println("Hi");

final OutputStream newOs = new OutputStream() {
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);

@Override
public void write(int b) throws IOException {
this.fdOut.write(b);
}
};

System.setOut(new PrintStream(newOs));
System.out.println("Hi, again");
}
}

这个想法是用无缓冲的输出流替换现有的缓冲输出流。

关于java - 如何预先设置流立即刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16854296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com