可以在java中写入包装的Stream吗?

时间:2015-03-14 15:31:51

标签: java stream

我正在编写一个用于赋值的java服务器,当我将它们写入包装流和包装流时,我发现了一些奇怪的行为,这会导致任何问题吗?据我所知,它可以,但如何?请各位赐教。

作为一个例子:

OutputStream os = new OutputStream(...);
PrintWriter pw = new PrintWriter(os);

我想在PrintWriter和OutputStream中写两个。

1 个答案:

答案 0 :(得分:0)

<击>

<击>

要从基于字节的流转移到基于字符的流,您需要使用OutputStreamWriter

  

OutputStreamWriter是从字符流到字节流的桥梁。

那就是:

OutputStream os = ...
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
PrintWriter pw = new PrintWriter(osw);

<击>

我认为问题在于您需要指定编码,因为构造函数PrintWriter(OutputStream out)使用的默认编码可能对您的数据输入不正确:

OutputStream os = ...
PrintWriter pw = new PrintWriter(os, "UTF-8");