IO种类
从数据传输方式可以将IO分为字节流和字符流:
- 字节流:InputStream输入流,OutputStream输出流。比如有 FileInputStream、FileOutputStream。
- 字符流:Reader输入流,Writer输出流。再细分一点的话,有 BufferedReader、InputStreamReader/BufferedWriter、OutputStreamWriter。
- 如何选择:对于频繁处理字符串的情况,选择字符流会好一些,因为字符流具备缓冲区,提高了性能。缓冲区是一块特殊的内存区域,通过将数据缓存在缓冲区,之后直接从中读写,可以显著提高性能,字符流的操作都是在缓冲区进行的。字节流的操作不会经过缓冲区,而是直接操作文本本身。