前言:
java里面的文件操作分为文件系统操作和文件内容操作。文件系统操作主要是针对File这个类来进行操作,而文件内容操作总的来说有四个:Reader,Writer,InputStream,OutputStream,前面两个是通过字符来操作,后面两个是通过字节来操作。
1.文件系统操作
File类:
(1)构造方法:
最常使用的是第二种构造方法,直接通过路径去new一个新的File实例。这个实例就相当于打开了一个文件,这个文件可以是真实存在的,也是是虚拟的(下面会介绍如果是虚拟的,那么将可以新建一个文件)。
(2)方法:
具体的所有File类中的方法请去官方api网站上查看。
2.文件内容操作
ps:文件内容操作时需要注意一个点就是,文件在读取结束后应该进行文件的关闭,否则会造成文件资源泄露。这里提供两种方式来关闭文件:1.手动关闭文件(Reader和Writer的示例中使用这种方法)2.通过try with resources来关闭文件,这种方式不用手动关闭文件,会自动调用close方法。但是try括号里的类必须实现closeable接口
(1)Reader:
是针对字符进行操作的,现有如下示例:
Reader由于是一个抽象类,所以不能够直接new实例化对象,在JAVAapi原生库中给我们提供了一种专门用来读取文件内容的类:FileReader,所以我们new对象的时候new的是FileReader的实例化对象。
我们可以看到程序运行结果就是mma.txt中的文件内容。
(2)Writer:
示例如下:
这里必须关闭文件否则文件写入数据将会失败!!!
Writer在进行文件数据写入的时候,会清空之前的数据,但是可以通过手动设置append的参数为true,就可以直接在之前的文件后面进行追加。
示例:
(3)InputStream:
通过字节进行文件的读取,这个读取是相当于cpu来说,硬盘往cpu上输入数据就是读取硬盘中的数据。
示例:
(4)OutputStream:
也是通过字节进行写文件。本质是cpu输出数据到硬盘(都是相对于cpu来说)。
示例: