gpt4 book ai didi

java - 有没有办法在不关闭底层流的情况下关闭 Writer?

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:43 26 4
gpt4 key购买 nike

我有一个套接字,我可以在其中写入一些字符数据和一些原始字节数据。对于字符数据,使用PrintWriter 更容易。对于原始字节数据,直接写入 OutputStream 会更容易。所以在我的代码中,我有这样的片段:

Writer writer = new PrintWriter(outputStream);
writer.write(someText);
...
writer.flush();
// No call to writer.close(), because that would close the underlying stream.

只要我在开始以其他方式写入流后注意不要写入此 Writer 就可以了。但我更愿意安全地知道,如果我不小心写入流(就像我关闭它时一样),我会得到一个 IOException

有没有办法在不关闭其底层流的情况下显式阻止将来写入 Writer

最佳答案

为什么? close() 只做两件事:(1) 刷新 writer 和 (2) 在嵌套的 writer 上调用 close()。如果您不想 (2),请自己调用 flush() 并且根本不要调用 close()

关于java - 有没有办法在不关闭底层流的情况下关闭 Writer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193157/

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