Java–File(文件)
File类概述和构造方法
File:它是文件和目录路径名的抽象表示
-
文件和目录是可以通过File封装成对象的
-
对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
-
基本方法:
方法名 说明 File(String pathname) 通过将给定路径名字字符串转换为抽象路径名来创建新的File实例 File(String parent,String child) 从父路径名字符串和子路径名字符串创建新的File实例 File(File parent,String child) 从父抽象路径名和子路径名字符串创建新的File实例 public class FileDemo { public static void main(String[] args) { // 通过将给定路径名字字符串转换为抽象路径名来创建新的File实例 File file1 = new File("F:\\haha\\java.txt"); System.out.println(file1); // 从父路径名字符串和子路径名字符串创建新的File实例 File file2 = new File("F:\\haha","java.txt"); System.out.println(file2); // 从父抽象路径名和子路径名字符串创建新的File实例 File file3 = new File("F:\\haha"); File file4 = new File(file3,"java.txt"); System.out.println(file4); } }
File类创建功能
方法名 说明 public boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件 public boolean mkdir() 创建由此抽象路径名命名的目录 public boolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录 下面是代码:
public class FileDemo01 { public static void main(String[] args) throws IOException { File f1 = new File("E:\\bin\\java.txt"); // 如果文件不存在就创建,返回True, // 如果文件存在就不创建,返回False。 System.out.println(f1.createNewFile()); // 如果目录不存在就创建,返回True, // 如果目录存在就不创建,返回False。 File f2 = new File("E:\\bin\\JavaSE"); System.out.println(f2.mkdir()); // 如果目录不存在就创建,返回True, // 如果目录存在就不创建,返回False。 File f3 = new File("E:\\bin\\ab\\HTML"); System.out.println(f3.mkdirs()); } }
File类判断和获取功能
方法名 | 说明 |
---|---|
public boolean isDirectory() | 测试此抽象路径表示的File是否为目录 |
public boolean isFile() | 测试此抽象路径表示的File是否为文件 |
public boolean exists() | 测试此抽象路径表示的File是否存在 |
public String getAbsolutePath() | 返回此抽象对象路径的绝对路径名字符串 |
public String getPath() | 将抽象路径名转换为路径名字字符串 |
public String getName() | 返回由此抽象路径名表示的文件或目录的名称 |
public String[] list() | 返回此抽象路径名表示的目录中文件和目录的名称字符串数组 |
public File[] listFile() | 返回此抽象路径名表示的目录中的文件和目录的File对象数组 |
File类删除功能
方法名 | 说明 |
---|---|
public boolean delete() | 删除由此抽象路径名表示的文件或目录 |
public class FileDemo02 {
public static void main(String[] args) throws IOException {
File f1 = new File("..\\java学习\\java.txt");
System.out.println(f1.createNewFile());
System.out.println(f1.delete());
}
}
**注意事项:**如果一个目录有内容(目录,文件),不能直接删除,应该先删除目录中的内容,最后才能删除目录