参考:
https://www.jianshu.com/p/7e84ef94f0c1
李刚《Java疯狂讲义》
File类
File类是java.io包下代表与平台无关的文件和目录,如果希望在程序中操作文件和目录,都可以通过File类来完成。不管是文件还是目录都是使用File来操作的,File能新建、删除、重命名文件和目录,但是File类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。
构造一个File类实例
File类的常见构造方法:new File(String pathname)
以pathname为路径创建File对象,路径可以是绝对路径和相对路径,分隔符采用\或者/。
基于File类可以实现文件/文件夹的创建、删除、信息查询等相关方法,不展开说明。
输入输出流体系基础
输入流和输出流
- 输入输出的划分是从程序运行所在内存的角度来考虑的,因此输入流是用于读取数据,输出流是用于写入数据的。
- Java的输入流主要是由InputStream和Reader作为基类,输出流由OutputStream和Writer作为基类,他们都是抽象基类,无法直接创建实例。
字节流和字符流
- 字节流和字符流用法几乎一样,区别在于字节流操作的数据单元是8位的字节,而字符流操作的是16位的字符。
- 字节流由InputStream和OutputStream作为基类,字符流由Reader和Writer作为基类
节点流和处理流
节点流是可以从/向特定的IO设备读写数据的流,节点流也称为低级流。
处理流对一个已存在的流进行连接或者封装,通过封装后的流来实现数据的读写功能,处理流也称为高级流。通过处理流来包装不同的节点流,既可以消除不同节点流的实现差异,也可以提供更加方便的方法来完成输入/输出功能,因此处理流也成为包装流。
处理节点流的典型思路是使用处理流来包装节点流,程序通过处理流来执行输入输出功能,让节点流与底层的IO设备、文件交互。
只要流的构造器参数不是一个物理节点,而是已经存在的流,那么这个流一定就是处理流;所有节点流都是直接以物理IO节点作为构造器参数的。
关闭处理流时会自动关闭节点流
输入输出流体系
Java的IO流涉及的40多个类都是InputStream、Reader、OutputStream和Writer四个抽象基类派生出来的,可以分为字节/字符与输入/输出组合的四个类别。
一般处理文本内容时使用字符流,处理二进制内容时使用字节流
原文地址:https://www.cnblogs.com/lllliuxiaoxia/p/12259562.html