File类
概述
java.io.File
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
构造方法
-
public File(String pathname)
:通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 -
public File(String parent, String child)
:从父路径名字符串和子路径名字符串创建新的 File实例。 -
public File(File parent, String child)
:从父抽象路径名和子路径名字符串创建新的 File实例。
##常用方法
获取功能的方法
public String getAbsolutePath()
:返回此File的绝对路径名字符串。public String getPath()
:将此File转换为路径名字符串。public String getName()
:返回由此File表示的文件或目录的名称。public long length()
:返回由此File表示的文件的长度。
绝对路径和相对路径
- 绝对路径:从盘符开始的路径,这是一个完整的路径。
- 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
创建删除功能的方法
-
public boolean createNewFile()
:当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 -
public boolean delete()
:删除由此File表示的文件或目录。 -
public boolean mkdir()
:创建由此File表示的目录。 -
public boolean mkdirs()
:创建由此File表示的目录,包括任何必需但不存在的父目录。
目录的遍历
public String[] list()
:返回一个String数组,表示该File目录中的所有子文件或目录。public File[] listFiles()
:返回一个File数组,表示该File目录中的所有的子文件或目录。
/**
* file类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
//构造方法(三种)
String pathname = "D:\\aa\\abc.txt";
File file = new File(pathname);
//判断文件是否存在
System.out.println("判断文件是否存在:"+file.exists());
//判断是否是目录
System.out.println("判断D:\\aaa\\abc.txt是否是文件:"+ file.isFile());
System.out.println("判断D:\\aaa\\abc.txt是否是目录:"+ file.isDirectory());
//文件不存在,创建一个新的
//file.mkdir();
file.createNewFile();
System.out.println("--------------");
String parent = "D:\\aa";
String child = "abc.txt";
new File(parent,child);
System.out.println("---------------");
File file1 = new File("D:\\aa");
System.out.println("判断D:\\aa是否是文件:"+ file1.isFile());
System.out.println("判断D:\\aa是否是目录:"+ file1.isDirectory());
new File(file1,"abc.txt");
System.out.println("---------------");
//常用方法
File file2 = new File("D:/a/listset.md");
System.out.println("判断D:/a/listset.md是否是文件:"+ file2.isFile());
System.out.println("判断D:/a/listset.md是否是目录:"+ file2.isDirectory());
System.out.println("文件绝对路径:"+ file2.getAbsolutePath());
System.out.println("文件长度:"+ file2.length()+ "字节");
//绝对路径 相对路径(开发中经常用到)
File file3 = new File("abc.txt");
System.out.println("相对于项目的路径:"+ file3.getAbsolutePath());
//删除abc.txt文件
file.delete();
System.out.println("------------------------------------------");
File file4 = new File("D:\\aa");
String[] list = file4.list();
for (String s:list) {
System.out.println(s);
}
File[] files = file4.listFiles();
for (File f:files) {
System.out.println(f);
}
}
}