File类和输入输出流体系基础

Posted lllliuxiaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了File类和输入输出流体系基础相关的知识,希望对你有一定的参考价值。

参考:
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四个抽象基类派生出来的,可以分为字节/字符与输入/输出组合的四个类别。

一般处理文本内容时使用字符流,处理二进制内容时使用字节流

以上是关于File类和输入输出流体系基础的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础-输入输出流

IO输入输出流——Java面向对象基础(29)

IO流的输入输出

Java高级特性 第4节 输入输出流

JAVA IO 输入输出流

Java输入/输出流体系