【发布时间】:2016-10-19 18:01:53
【问题描述】:
我有一个从HttpURLConnection 返回的OutputStream 实例。我需要在流中写入一个 UTF-8 字符串。
我有两种方法:
-
使用
OutputStream本身// write String os.write("some utf8 text".getBytes(Charsets.UTF_8)); -
使用
OutputStreamWriter包装器// BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, CharsetUtils.UTF_8)); OutputStreamWriter osw = new OutputStreamWriter(os, CharsetUtils.UTF_8); osw.write("some utf8 text");
问题:为什么要使用OutputStreamWriter而不是OutputStream来写String?
谢谢!
【问题讨论】:
-
因为大多数时候,您希望将许多字符串(可能还有其他数据类型,使用包装 OuputStreamWriter 的 PrintWriter)写入同一个流,并且不想每次都重复编码.
标签: java text utf-8 io outputstream