File介绍
File 类是在整个java.io 包里面唯一一个与文件本身有关的操作类,与文件本身有关指的是这个类可以进行操作文件的路径的指派,可以创建或者删除文件,以及获取文件的相关的信息内容。 在使用File类时可以采用如下的构造方法进行定义实例化:
- File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
- File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
- File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
- File(URI uri) 通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。 点击查看API
File类中的创建方法
- createNewFile():当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件
- mkdirs():创建此抽象路径名指定的目录,包括任何必需但不存在的父目录
- mkdir():创建此抽象路径名指定的目录
- 以上返回类型都是
boolean
切记mkdirs和mkdir 是创建目录的不能创建文件,创建文件是createNewFile
File类判断和获取方法
是否为目录
- isDirectory()
- 返回路径是否为目录
- true:是目录
- false:不是目录
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git");
//是否为目录
boolean directory = file.isDirectory();
//输出结果
System.out.println(directory);
是否为文件
- isFile()
- 返回路径是否为文件
- true:是文件
- false:不是文件
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//是否为文件
boolean file1 = file.isFile();
//输出结果
System.out.println(file1);
文件是否存在
- .exists()
- 返回路径中的文件是否存在
- true:存在
- false:不存在
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//文件是否存在
boolean exists = file.exists();
//输出结果
System.out.println(exists);
获取绝对路径
- .getAbsolutePath()
- 返回File中的绝对路径
- 返回类型:String
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//返回File中的绝对路径
String path = file.getAbsolutePath();
//输出结果
System.out.println(path);
结果:
代码语言:javascript复制C:UsersWinCHPicturesGitjava.txt
获取路径名
- .getPath()
- 将此抽象路径名转换为路径名字符串
- 返回类型:String
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//获取路径名
String filePath = file.getPath();
System.out.println(filePath);//输出结果
获取路径名的文件或目录名称
- .getPath()
- 返回此抽象路径名表示的文件或目录的名称。
- 返回类型:String
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//获取路径名的文件或目录名称
String name = file.getName();
System.out.println(name);//输出
结果:
代码语言:javascript复制java.txt
目录中文件和目录名称
- .list()
- 返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录
- 返回类型:String[]
- 它只是一个字符串数组
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git");
//目录中文件和目录名称
String[] setArray = file.list();
//遍历数组
for (String src : setArray) {
System.out.println(src);
}
结果:
代码语言:javascript复制1258555555.gif
java.txt
map01ceshi.html
sb7.png
sb8.png
timg.jfif
目录中文件和目录的File对象数组
- .listFiles()
- 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
- 返回类型:File[]
- 它可以调用File类的方法
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git","java.txt");
//目录中文件和目录的File对象数组
File[] fileArray = file.listFiles();
//遍历File数组
for (File file1 : fileArray) {
System.out.println(file1);
}
结果:
代码语言:javascript复制C:UsersWinCHPicturesGit1258555555.gif
C:UsersWinCHPicturesGitjava.txt
C:UsersWinCHPicturesGitmap01ceshi.html
C:UsersWinCHPicturesGitsb7.png
C:UsersWinCHPicturesGitsb8.png
C:UsersWinCHPicturesGittimg.jfif
File类的删除方法
- delete()
- 删除此抽象路径名表示的文件或目录
- 给的是文件路径就删除文件
- 给的是目录路径就删除文件目录
- 返回类型:boolean
//创建File对象
File file = new File("C:\Users\WinCH\Pictures\Git");
//删除
boolean delete = file.delete();
System.out.println(delete);//输出结果