我可以在同一输出流上同时使用PrintWriter和BufferedOutputStream吗?
情况是这样的:
我有一个SSLSocket程序,我希望能够在不同的时间点轻松地在套接字上同时传输字符串和字节[],而不必将byte []转换为字符串等,但是,PrintWriter仅允许我传输字符串和BufferedOutputStream只允许我传输字节。
PrintWriter只是原始OutputStream的包装。BufferedOutputStream也是OutputStream的包装。因此,您可以同时使用。为什么不?
您应该考虑的一件事-在多线程环境中,应谨慎使用流和编写器,因为这样可能会导致无法预测的结果。
java.io.Writer类(PrintWriter的超类)将自身用作锁定对象。因此,您也可以使用它来同步多个线程。