Java OutputStreamWriter和ByteArrayOutputStream
为什么第一个示例打印字符串12345,而第二个示例不打印Java OutputStreamWriter和ByteArrayOutputStream,java,Java,为什么第一个示例打印字符串12345,而第二个示例不打印 public static void main(String[] args) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { baos.write("12345".getBytes()); } catch (Exception e) { e.printStackTrace(); }
public static void main(String[] args) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
baos.write("12345".getBytes());
} catch (Exception e) {
e.printStackTrace();
}
String output = baos.toString();
System.out.println(output);
}
public static void main(String[] args) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(baos);
try {
osw.write("12345");
} catch (Exception e) {
e.printStackTrace();
}
String output = baos.toString();
System.out.println(output);
}
我没有正确使用OutputStreamWriter吗
谢谢在第二个示例中,您需要刷新流,因为
OutputStreamWriter
在内部使用缓冲区
这是在报告中提到的
写下后添加一个
osw.flush()
,那是一个深夜,我看不见树林。我发现ows.close()为我解决了这个问题。谢谢你的回答,不过,我会奖励积分,因为这也解决了我的问题。
osw.flush();