java中的io流

  • 最近面试遇到了很多问我基础的问题,但是我这边都回答的不是很理想,所以在这里做一个总结,也作为一个复习,帮助自己能够提高自己的水平。
  • 目前遇到的问题如下:mycat的分库分表,主从同步,负载均衡,sql的优化,常见算法,集合,io,java高级,常见的面试题

下面的复习不会按照上述的顺序来复习,只是根据难易程度来帮助自己回忆复习

java中的io流可以分为两种:

  • 输入流/输出流
  • 字符流/字节流

字符流/字节流

InputStream和OutputStream称为字节流
Reader和Writer称为字符流

java中的io流
字节流和字符流的操作方式基本一致,只是操作的数据单元不同——字节流的操作单元是字节,字符流的操作单元是字符。

如果是操作二进制文件那我们就使用字节流,如果操作的是文本文件那我们就使用字符流。

而字节流在操作文件时,是直接操作文件的,字符流在操作文件时,使用了缓存,先将数据放到缓存之后,再通过缓存去操作文件。缓存我们可以理解为内存中的一个特殊的空间,因为频繁的读取效率十分的低下,所以我们可以在内存中开辟一个空间,直接操作内存,速度会大大的提升。