作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个套接字,我可以在其中写入一些字符数据和一些原始字节数据。对于字符数据,使用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/
我是一名优秀的程序员,十分优秀!