文件io
File file = new File(相对路径/绝对路径)
文件是指存储在硬盘(磁盘)上的文件(目录)
路径就是文件的地址,这里的路径有两种方式
例:一个文件的地址是"C:\Program Files (x86)\text.txt"
1.相对路径:先指定一个当前目录/工作目录/基准目录,从当前目录出发,找到目标文件
.\test.txt
2.绝对路径:从树根节点出发,一层一层最终到达目标文件
"C:\Program Files (x86)\text.txt"
若当前目录是C:/User/1相对目录是./test.txt
若当前目录是C:/User相对目录是./1/test.txt
若当前目录是C:/User/1/AppData相对目录是../test.txt(这里的两个..是表示上层目录)
文件重要分类
1.文本文件:使用记事本打开看到的是正常内容就是文本文件
2.二进制文件:使用记事本打开看到是乱码内容就是二进制文件
文件操作的api
1.getparent获取上一级目录
2.getname获取文件名字
3.getpath获取file的构造方法的参数
4.getabsolutepath把相对路径转换成绝对路径
5.getcaonicalpath针对getabsolutepath整理化简之后的结果

创建文件
file.createNewFile

删除文件
删除文件是有带有返回类型的,删除成功就会返回true

重命名文件
把src的目录名字修改成dest的名字

列出目录文件


创建目录/多个目录
需要先把目录名字定义好

文件内容操作
字节流
打开文件

关闭文件
释放文件相关资源,如果打开文件和关闭文件中的代码出现了异常或者是return,就会导致无法关闭文件,无法关闭文件就一导致文件资源泄漏

可以是用finally来保证关闭文件一定会被执行,需要把实例化对象放在try的外面,不然出了try的代码块之后就会自动销毁,后续的finally拿不到

对于try操作java还提供了另一个版本,try with resources,出了try的代码块就会自动关闭文件,但是放在try()里面的类必须要实现closeable接口的

读文件read()
提供了三个版本
1.无参数的版本每次调用读取一个字节,返回值就表示读取到的这个字节的值,这里的返回值看起来是int实际上是byte,实际取值是0-255,如果读到文件末尾就会返回-1
2.一个参数版本,传入的字节数组参数是一个输出型参数,创建一个内容为空的数组,在把空的数组交给read进行内容填充
3.和第二个版本一样多了两个参数,off是偏移量,len是位置,只能从哪个位置读到哪个位置
read的第二个和第三个版本返回的int表示实际读取的字节个个数,默认情况read会尝试把数组填满,但是文件的实际长度可能不足以填满,返回值就会告诉我们实际填充了多少个字节

读取文件内容,输出的是文件内容的acsii的十进制的数字


写文件write()
同样也是有三个版本
1.单独写
2.写整个数组
3.从数组的某个位置写到某个位置

默认写文件是把文件清空然后写新的文件

要想不清空文件,在文件后面添加,就要在try后面添加append参数

字符流(返回类型是char)
reader读文件

读取到的文件内容已字符串的形式输出

writer写文件

也可以使用Scanner来辅助读取文件


浙公网安备 33010602011771号