目录
一、认识文件
狭义上的文件:保存在硬盘上的文件。
广义上的文件:操作系统进行资源管理的一种机制,很多的软件/硬盘资源,抽象成“文件”来表示。
二、树型结构组织和目录
随着文件越来越多,对文件的系统管理也被提上了日程,如何进行文件的组织呢,一种合乎自然的想法出现了,就是按照层级结构进行组织 —— 也就是我们数据结构中学习过的树形结构。这样,一种专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓文件夹(folder)或者目录(directory)的概念。

三、文件路径(path)
从树根开始,到最终的文件,中间都要经过一些目录,把这些目录都记录下来,就成了“绝对路径”。
从任意一个结点出发,进行对路径的描述,这种描述方式就是“相对路径”。
一般使用 / 来分割路径中的多级目录。
如果在代码中写一个相对路径,那么它的基准路径时谁呢?
基准路径就是工作路径,工作路径取决于程序运行的方式。
如果是在IDEA中直接运行,基准路径就是该项目的目录。
四、文件的种类
文件分为文本文件和二进制文件。
大前提是,所有的文件都是二进制文件,但是有一些文件的二进制数据刚好能构成字符,就成了文本文件。
五、在Java中操作文件
Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,
并不代表真实存在该文件。
File类用于操作文件系统,下面是它的成员方法:
(一)构造方法
(二)各方法演示
方法:
代码演示:
public class Demo01 {
public static void main(String[] args) throws IOException {
File file=new File("./test");
System.out.println(file.getParent());//获取父目录文件路径
System.out.println(file.getName());//获取当前文件名称
System.out.println(file.getPath());//获取构造方法中的路径
System.out.println(file.getAbsolutePath());//获取绝对路径
System.out.println(file.getCanonicalPath());//获取简化后的绝对路径(消除了.和..)
}
}
运行结果:
方法:
代码演示:
public class Demo02 {
public static void main(String[] args) throws IOException {
File file=new File("./test");
boolean f=file.exists();//查看File对象描述的文件是否真实存在
System.out.println(f);
file.createNewFile();//创建File对象描述的文件
boolean t=file.exists();//查看File对象描述的文件是否真实存在
System.out.println(t);
}
}
运行结果:
方法:
代码演示:
public class Demo03 {
public static void main(String[] args) throws IOException {
File file=new File("./test1");
boolean t=file.createNewFile();//创建
System.out.println(t);
boolean f=file.delete();
System.out.println(f);
}
}
运行结果:
方法:
代码演示:
public class Demo04 {
public static void main(String[] args) {
File file=new File("./");
System.out.println(file.list());//返回值是一个类型为String的数组
System.out.println(Arrays.toString(file.list()));//将数组toString打印出来
System.out.println(file.listFiles());//返回一个类型为File对象的数组
System.out.println(Arrays.toString(file.listFiles()));//打印
}
}
运行结果: