A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wahaha 中级黑马   /  2013-3-13 09:45  /  1114 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

亲爱的筒子们:
我看IO流中的打印流,还是有点不理解,打印流其实也是写入嘛,既然这样,为什么不用字节流FileInputStream来实现呢?
字符流就为什么没有打印流呢?

2 个回复

倒序浏览
看下API吧。。
PrintStream:

PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 ('\n')。

PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类


PrintWriter:
向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。

此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用 checkError() 是否出现错误。




回复 使用道具 举报
打印流是向文本输出流打印对象的格式化表现形式,是输出流,即写入流,要搞清楚读取流和写入流的区别,可以用FileOutputStream来实现 ,打印流本身就是字符流,建议楼主多看API文档:下面是字符流与字节流的总结:

2012031413373126.jpg (54.23 KB, 下载次数: 11)

2012031413373126.jpg

评分

参与人数 1黑马币 +6 收起 理由
黄玉昆 + 6 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马