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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© freehiker 中级黑马   /  2013-11-13 13:00  /  1493 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 freehiker 于 2013-11-13 13:34 编辑
  1. import java.io.PrintStream;
  2. import java.io.PrintWriter;
  3. import java.util.Properties;


  4. public class PropertiesListMethod {

  5.         public static void main(String[] args) throws Exception {
  6.                 // TODO Auto-generated method stub
  7.                 Properties props = System.getProperties();
  8.                 //源地址是内存中的props,操作的是字节,所以用打印字节流
  9.                 props.list(new PrintStream("testStream.txt"));
  10.                 props.list(new PrintWriter("testWriter.txt"));
  11.         }

  12. }
复制代码
如代码所示:list中使用PrintStream可以理解,但是为什么list方法中还可以用PrintWriter呢?上述的例子中,testStream.txt有信息,而testWriter.txt中没有信息,求list带PrintWriter的示例!!!

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

7 个回复

倒序浏览
本帖最后由 文涛 于 2013-11-13 13:43 编辑

PrintWriter是打印字符流,这里应该是可以打印的,只是你忘记了一点,PrintWriter是有缓冲区的,没有刷新缓冲区所以根本就没有数据被写出来。
    你调用list只是将数据输出到了writer的缓冲区,这样没有刷新,所以就造成了上诉结果。    你可以这样写PrintWriter pw=new PrintWriter("testWriter.txt");
                         Props.list(pw);
                         pw.flush();//刷新缓冲区
               

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
文涛 发表于 2013-11-13 13:29
PrintWriter是打印字符流,这里应该是可以打印的,只是你忘记了一点,PrintWriter是有缓冲区的,没有刷新缓 ...

嗯,测试了,确实是因为PrintWriter有缓冲区的原因。谢啦
回复 使用道具 举报
freehiker 发表于 2013-11-13 13:33
嗯,测试了,确实是因为PrintWriter有缓冲区的原因。谢啦

能帮到你很开心
回复 使用道具 举报
freehiker 发表于 2013-11-13 13:33
嗯,测试了,确实是因为PrintWriter有缓冲区的原因。谢啦

能帮到你很开心
回复 使用道具 举报
文涛 发表于 2013-11-13 13:29
PrintWriter是打印字符流,这里应该是可以打印的,只是你忘记了一点,PrintWriter是有缓冲区的,没有刷新缓 ...

PrintStream(String fileName)
          创建具有指定文件名称且不带自动行刷新的新打印流。

PrintStream也不是自动刷新的噢 。
回复 使用道具 举报
文涛 中级黑马 2013-11-13 13:43:39
7#
freehiker 发表于 2013-11-13 13:38
PrintStream(String fileName)
          创建具有指定文件名称且不带自动行刷新的新打印流。

恩,发现了,谢谢指出呀
回复 使用道具 举报
文涛 发表于 2013-11-13 13:43
恩,发现了,谢谢指出呀

明白了,原理是Writer流和OutputStream流的区别。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马