File类的一个对象,代表一个文件或一个文件夹
File类声明在java.io包下
File类:文件/文件目录的创建、删除、重命名、获取文件的各种信息
IO 流 :文件的读写操作,File类的对象作为参数传入到流的构造器中,指明读写“端点”。
指明绝对路径 / 相对路径
File file = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file\\C.txt"); File file1 = new File("hello.txt");
指明上一层目录,新建的一个文件 / 文件目录
File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file", "hi.txt");
指明一个文件,在该文件下新建一个文件 / 文件目录
File file3 = new File(file, "Java.txt");
获得文件的绝对路径:包含盘符在内的文件目录路径
// F:\Java\规范代码1.0\IO流\hello.txt System.out.println(file1.getAbsoluteFile());
获取文件的相对路径
// hello.txt System.out.println(file1.getPath());
获取文件的名字
// C.txt System.out.println(file.getName());
获取文件的上一次目录
// F:\Java\规范代码1.0\IO流\src\file System.out.println(file.getParent());
获取文件的长度
// 0 System.out.println(file.length());
获取该文件创建的时间,返回的是毫秒数
// 1638179999654 long time = file4.lastModified(); System.out.println(time); // Mon Nov 29 17:59:59 CST 2021 Date date = new Date(time); System.out.println(date);
获取指定目录下所有文件或文件夹的名字的数组
/* .idea IO流 jdbc.properties lib out src 泛型 规范代码1.0.iml 集合 */ String[] list1 = file4.list(); for (String str : list1) { System.out.println(str); }
获取指定目录下所有文件或文件夹的绝对路径的数组
/* F:\Java\规范代码1.0\.idea F:\Java\规范代码1.0\IO流 F:\Java\规范代码1.0\jdbc.properties F:\Java\规范代码1.0\lib F:\Java\规范代码1.0\out F:\Java\规范代码1.0\src F:\Java\规范代码1.0\泛型 F:\Java\规范代码1.0\规范代码1.0.iml F:\Java\规范代码1.0\集合 */ File[] files = file4.listFiles(); for (File fil : files) { System.out.println(fil); }
要保证重命名成功,需要file1在外存中真实存在,file2在外存中不存在
File file1 = new File("HELLO.txt"); File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file\\hi.txt");
renameTo(File dest)
// true boolean b = file1.renameTo(file2); System.out.println(b);
判断是否为文件目录
System.out.println(file.isFile());
判断是否为文件
System.out.println(file.isDirectory());
判断是否存在
System.out.println(file.exists());
判断是否可读
System.out.println(file.canRead());
判读是否可写
System.out.println(file.canWrite());
判断是否被隐藏
System.out.println(file.isHidden());
注:若文件存在,则可读可写;若文件不存在,则全为false
创建文件,若同名文件存在,则不创建,返回false
File file = new File("hi.txt"); if (!file.exists()) { System.out.println(file.createNewFile()); } else { System.out.println("创建失败"); }
创建文件目录,若文件目录存在,不创建;若上层目录不存在,返回false
File file1 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file1\\v"); boolean mkdirs = file1.mkdirs();
创建文件目录,若文件目录存在,不创建;若上层目录不存在,则一并创建
File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file2\\j"); boolean mkdirs = file1.mkdirs();
delete()删除文件
删除对象的文件目录中,不能包含文件或文件目录,否则删除不成功
file.delete();