数据源有三种:文件,内存和键盘
数据汇有三种:文件,内存和控制台
我想问问JAVA I/O系统中对应以上数据源和数据汇,应该分别用哪些输入流和输出流
比如字节输入流是不是不能通过键盘来读取数据,而只能读取字节数组或文件中的已有数据
字节输出流能不能输出到控制台呢
Reader/Writer是不是就是针对键盘和控制台呢
I/O中类太多了,有点晕

解决方案 »

  1.   

    的确晕  慢慢用  慢慢就能体会了
    这篇文章肯定对你有帮助的:http://topic.csdn.net/u/20080619/10/30ead5c6-8410-46c4-b9a1-f14522983eac.html
      

  2.   

    java中的IO是与设备无关的字节流操作
    再往上是字符流.
      

  3.   

    如果是FileinputStream能读取word,excel一类的文件吗
    像读取txt文本一样简单吗
      

  4.   

    类多了并不一定要去每个掌握啊用到了 查看API 会用就行
      

  5.   

    了解区分“结点流”和“包装流”;
    了解区分字节流(一般后面是strean)和字符流(一般后面是er)。
      

  6.   

     我现在又发现一个问题
    字节输出流OutputStream,比如往输出流中写数据时,可以不用flush()
    但是字符输出流Writer的子类,比如OutputStreamWriter,往输出流中写数据时,必须要用flush()
    是不是Writer都需要刷新缓冲区
      

  7.   

    加段代码
             FileOutputStream out=new FileOutputStream("e:\\test.txt");
    OutputStreamWriter writer=new OutputStreamWriter(out);
    writer.write("hello");
    会发现运行时,文件test.txt里啥也没有
    但是在最后加上bw.flush()后,就能写入了
    这是为啥呢?
    FileOutputStream out=new FileOutputStream("e:\\test.txt");
    out.write("hello");
    就能直接写入,不用flush()
      

  8.   

    这个问题我已经搞清楚了
    主要看那个类是否覆盖了flush(),如果覆盖了,则需要
    否则,不需要
    嘿嘿
    等待下一个IO问题