java空文本_输出到文本文件,控制台为空-Java

首先,您必须创建一个从OutputStream接口继承的类以实现适配器模式(我不确定是否是adapter)

那么您可以使用该类作为波纹管

主要

PrintStream finalStream;

TreeOutputStream tos;

PrintStream out;

out = new PrintStream("logs.txt");

tos = new TreeOutputStream();

tos.add(out);

tos.add(System.out);

finalStream = new PrintStream(tos);

System.setOut(finalStream);

TreeOutputStream

public class TreeOutputStream extends OutputStream{

private final List streams;

public void add(OutputStream os){

streams.add(os);

}

public void remove(OutputStream os){

streams.remove(os);

}

public TreeOutputStream() {

streams = new ArrayList<>();

}

@Override

public void write(int i) throws IOException {

streams.stream().forEach(strm->{

try {

strm.write(i);

} catch (IOException ex) {

Logger.getLogger(TreeOutputStream.class.getName()).log(Level.SEVERE, null, ex);

}

});

}

}

发生什么情况,您的输出流将遍历所有调用其write方法的流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值