黑马程序员技术交流社区
标题:
PrintWriter和BufferedWriter
[打印本页]
作者:
小小太阳
时间:
2013-5-26 14:43
标题:
PrintWriter和BufferedWriter
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
String line = null;
while((line = bufr.readLine())!=null)
{
out.println(line);
}
//这里可以用PrintWriter来写,具体是什么原理,
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = bufr.readLine())!=null)
{
bufw.write(line);
bufw.newLine();
bufw.flush();
}
这后者可以用前者来写,具体是什么原理,请高手解答
作者:
First
时间:
2013-5-26 19:27
看下api 就会很清楚了
PrintWriter(OutputStream out, boolean autoFlush)
通过现有的 OutputStream 创建新的 PrintWriter。
PrintWriter 会使用默认的编码把字符转换为字节。
作者:
刘勇强
时间:
2013-5-29 11:51
代码中用到PrintWriter 这个构造方法 PrintWriter(OutputStream out, boolean autoFlush) ,可以直接接受字节流(
BufferedWriter只能接受字符流,需要OutputStreamWriter把s.getOutputStream()包成字符流
),
第二参数true 让生成的PrintWriter可以自动刷新,就是不需要再调用flush()方法(
BufferedWriter需要 bufw.flush();实现
).
PrintWriter 用到的println(String x)方法
out.println(line);
,
public void println(String x) 是打印 String,然后终止该行。此方法的行为就像先调用 print(String) 然后调用 println() (
这个是输出换行
) 一样。 所以就不需要BufferedWriter中的换行bufw.newLine();
作者:
袁梦希
时间:
2013-5-30 10:49
楼主你好,如果帖子没问题了,那么请把帖子的类型改为“已解决”。如果不会改,请看我的个性签名
作者:
刘胜寒
时间:
2013-5-31 01:03
如果问题以解决,请修改分类。谢谢合作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2