IO面试资料

  1. java中有几种类型的流?
    从编码方式上看,分为字符流和字节流。
    字节流继承InputStream和OutputStream
    字符流继承自Reader和Writer
  2. 字符流和字节流有什么区别?
    底层设备永远只接受字节数据,有时候要写字符串到底层设备,需要将字符串转成字节再进行写入。
    字符流是字节流的包装,字符流则是直接接收字符串,它内部将串转成字节,再写入底层设备,
    这位我们向IO设备写入或读取字符串提供了一点点方便。
  3. 明确源和目的。
    数据source:就是需要读取,可以使用两个体系:InputStream,Reader
    数据destination:就是需要写入,可以使用两个体系:OutputStream,Writer
  4. 操作的数据是否是纯文本数据?
    如果是:
    数据source:Reader
    数据destination:Writer
    如果不是:
    数据source:InputStream
    数据destination:OutputStream
  5. JavaIO体系中有太多的对象,到底用哪个呢?
    明确操作的数据设备:
    数据source对应得设备:硬盘(File),内存(数组),键盘(System.in)
    数据destination对应得设备:硬盘(File),内存(数组),键盘(System.out)

只要一读取键盘录入,就用下面得:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));

上一篇:常用的DOS命令


下一篇:Java: 缓冲流BufferedXXX