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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Alex_Guo 中级黑马   /  2015-1-7 13:33  /  955 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天在玩流,发现一个问题,PrintStream也是不用Flush()就可以把数据写到目的地的,但是它的构造方法里有设置autoFlush是true还是false.
可是我在程序里面设置,并没有作用,设不设都直接写数据的,这是为什么啊?看下面代码。大神可以运行一下看看。
        public static void testPrintStream2()throws Exception{
       
                FileInputStream fis = new FileInputStream("TestBufferByte.java");
                PrintStream ps = new PrintStream(new FileOutputStream("PrintStream.txt"),false);
                int ch = 0;
                while((ch = fis.read())!=-1){
                        ps.write((char)ch);
                }
               
        }
但是PrintWriter的autoflash构造参数确实是有用的。
谢谢大神们啦!

1 个回复

倒序浏览
代码有问题!你用的是打印流,而为什么要用write方法呢,打印流主打的是打印方法。另外autoFlush是自动刷新,只有当参数为true并且使用了println方法时,才会自动刷新!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马