Loc*_*Loc 5 java io text outputstream utf-8
我有一个OutputStream返回的实例HttpURLConnection.我需要在流中写一个UTF-8字符串.
我有两种方式:
使用OutputStream自己
// write String
os.write("some utf8 text".getBytes(Charsets.UTF_8));
Run Code Online (Sandbox Code Playgroud)使用OutputStreamWriter包装器
// BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, CharsetUtils.UTF_8));
OutputStreamWriter osw = new OutputStreamWriter(os, CharsetUtils.UTF_8);
osw.write("some utf8 text");
Run Code Online (Sandbox Code Playgroud)问:为什么要使用OutputStreamWriter在OutputStream写字符串?
谢谢!
问题:为什么我们应该使用OutputStreamWriter而不是OutputStream来编写String?
简单地定义编码只有一次在构造函数OutputStreamWriter,而不是每次都指定我们想要编码String成UTF-8拜getBytes(Charsets.UTF_8)
另外一个OutputStreamWriter提供了许多方便的方法来写String,例如write(String),write(String, int, int),append(CharSequence)和append(CharSequence, int, int)您不要在有OutputStream.