常用的IO流API有:
【InputStream、OutputStream】
【FileInputStream、FileOutputStream】
【BufferedInputStream、BufferedOutputStream】
【BufferedReader、BufferedWriter】
流分为两种:字节流、字符流。
InputStream(字节输入流)和Reader(字符输入流)通俗的理解都是读(read)的。
OutputStream(字节输出流)和Writer(字符输出流)通俗的理解都是写(writer)的。
1、字节输入流InputStream及以下子类
层次结构图如下
2、java中的字符是Unicode编码的,是双字节的。InputStream是用来处理字节的,在处理字符文本时很不方便。
Java为字符文本的输入提供了专门的一套类Reader。Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类。
复制的数据能够通过记事本打开你能看得到就使用字符流操作读取。
3、输出流OutputStream类是字节输入流的抽象类,此抽象类表示输出字节流的所有类的超类。
4、Writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类。
File类是IO包中唯一代表磁盘文件本身的对象。通过File来创建,删除,重命名文件。
File类对象的主要作用就是用来获取文本本身的一些信息。如文本的所在的目录,文件的长度,读写权限等等。
(有的需要记忆,比如isFile(),isDirectory(),exits();有的了解即可。使用的时候查看API)