File类
1、File类
1.1、File类的作用
- java.io.File代表操作系统的文件、文件夹对象。
- 通过File对象操作文件和文件夹。
1.2、File类的构造器
File(String pathname)
File(String parent, String child)
File(File parent, String chile)
- 注意:\在字符串中要写2个\, windows系统中路径支持\ 和 /,Linux系统中只支持/。
1.3、File类创建功能
方法名 | 说明 |
---|
public boolean createNewFile() | 创建一个文件 |
public boolean mkdir() | 创建一个单级文件夹 |
public boolean mkdirs() | 创建一个多级文件夹 |
System.out.println(new File("E:\\abc\\qq.txt").createNewFile());
System.out.println(new File("E:\\abc\\aaaa").mkdir());
System.out.println(new File("E:\\abc\\aaa\\aaa\\aaa").mkdirs());
1.4、File类删除功能
方法名 | 说明 |
---|
public boolean delete() | 删除文件或文件夹 |
- 注意:
- delete方法直接删除不走回收站。
- 如果删除的是一个文件,直接删除。
- 如果删除的是一个文件夹,需要先删除文件夹中的内容,最后才能删除文件夹。
System.out.println(new File("E:\\abc\\aaaa").delete());
System.out.println(new File("E:\\abc\\aaa\\aaa\\aaa").delete());
System.out.println(new File("E:\\abc\\aaa\\aaa").delete());
System.out.println(new File("E:\\abc\\aaa").delete());
File file = new File("E:\\abc\\xyz.png");
1.5、File类判断和获取功能
方法名 | 说明 |
---|
public boolean isDirectory() | 判断是否是文件夹 |
public boolean isFile() | 判断是否是文件 |
public boolean exists() | 判断是否存在 |
public String getAbsolutePath() | 返回File对象的绝对路径 |
public String getName() | 获取名字 |
public String getParent() | 获取父路径 |
public long length() | 获取文件大小 |
// 创建一个File定位到文件
File file = new File("E:\\abc\\123.txt");
// 创建一个File定位到文件夹
File file1 = new File("E:\\abc\\123");
System.out.println(file1.exists());
System.out.println(file1.isFile());
System.out.println(file.isFile());
// String getAbsolutePath() 获取绝对路径
System.out.println(file.getAbsoluteFile());
System.out.println(file1.getAbsoluteFile());
// String getName() 获取名字 路径中最后一个\\右边的就是名字
System.out.println(file.getName());
System.out.println(file1.getName());
// String getParent() 获取父路径 路径中最后一个\\左边的就是父路径
System.out.println(file.getParent());
System.out.println(file1.getParent());
// long length() 获取"文件"大小, 单位是字节, 文件夹无法获取准确大小
System.out.println(file.length());
System.out.println(file1.length());
1.6、File类遍历
方法名 | 说明 |
---|
String[] list() | 获取文件夹里面的内容,以字符串的形式返回 |
public File[] listFiles() | 获取文件夹里面的内容,以File对象的形式返回 |
public static void recursion(File file){
File[] files = file.listFiles();
for (File file1 : files) {
System.out.println(file1);
if(file1.isDirectory()){
recursion(file1);
}
}
}