JAVA的源IO流 是不是都不能直接操作呢, 都要经过包装 ?  比如 System.in 是个源输入流, Thinking in java 里说使用前必须经过包装流包装,而 System.out 则是已经经过包装的 PrintStream, 我觉得不对吧 ?  装饰者模式只是对原宥对象添加功能而已,那么即使不经过包装,如 System.in 这样的源流应该也是可以直接操作才对

解决方案 »

  1.   

    那种低级流就可以直接操作阿
    比如FileInputStream,FileOutputStream等
      

  2.   

    刚才在 eclipse里试了下, System.in 这个源流也是可以直接操作的, Thinking in java 里却说使用先要先经过包装
      

  3.   

    一般的来说,不带buffered这种流都是低级流,可以直接使用
    但个别的除外,比如PrintStream,ObjectInputStream
      

  4.   

    要包装的是指带有buffer也就是带缓冲的i/o流!
     你所说的system.in也有好多用法的!
       比如Scanner cin=new Scanner(System.in);这个就没带buffer所以它可以直接
         操作!
       而 BufferedReader input=new BufferedReader(new       InputStreamReader(System.in));
         这个带buffer的i/o就不能了!