目录
常用方法1:判断文件类型、获取文件信息
方法
实例演示
常用方法2:创建文件、删除文件
方法
实例演示
常用方法3:遍历文件夹
方法
实例演示
常用方法1:判断文件类型、获取文件信息
方法
File提供的判断文件类型、获取文件信息功能
方法名称 | 说明 |
---|---|
public boolean exists() | 判断当前文件对象,对应的文件路径是否存在,存在返回true。 |
public boolean isFile() | 判断当前文件对象指代的是否是文件,是文件返回true,反之。 |
public boolean isDirectory() | 判断当前文件对象指代的是否是文件夹,是文件夹返回true,反之。 |
public String getName() | 获取文件的名称(包含后缀)。 |
public long length() | 获取文件的大小,返回字节个数。 |
public long lastModified() | 获取文件的最后修改时间。 |
public String getPath() | 获取创建文件对象时,使用的路径。 |
public String getAbsolutePath() | 获取绝对路径。 |
实例演示
import java.io.File;
import java.text.SimpleDateFormat;
public class FileTest2 {
public static void main(String[] args) {
//1.创建文件对象,指代某个文件
File f1 = new File("E:/Programme/Java/acc.txt");
//2.判断当前文件对象,对应的文件路径是否存在,存在返回true
System.out.println(f1.exists()); //true
//3.判断当前文件对象指代的是否是文件,是文件返回true
System.out.println(f1.isFile()); //true
//4.判断当前文件对象指代的是否是文件夹
System.out.println(f1.isDirectory()); //false
//5.获取文件的名称(包含后缀)
System.out.println(f1.getName()); //acc.txt
//6.获取文件的大小,返回字节个数
System.out.println(f1.length()); //6
//7.获取文件的最后修改时间,返回的是长整型,需要转换格式
long time = f1.lastModified();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(time));
//8.获取创建文件对象时所使用的路径
File f2 = new File("E:/Programme/Java/abc.txt");
File f3 = new File("HelloWorld/src/file.txt");
System.out.println(f2.getPath());
System.out.println(f3.getPath());
//9.获取绝对路径
System.out.println(f2.getAbsolutePath());
System.out.println(f3.getAbsolutePath());
}
}
运行结果:
常用方法2:创建文件、删除文件
方法
File类创建文件的功能
方法名称 | 说明 |
---|---|
public boolean createNewFile() | 创建一个新的空的文件 |
public boolean mkdir() | 只能创建一级文件夹 |
public boolean mkdirs() | 可以创建多级文件夹 |
File类删除文件的功能
方法名称 | 说明 |
---|---|
public boolean delete() | 删除文件、空文件夹 |
注意:delete方法默认只能删除文件和空文件夹,删除后的文件不会进入回收站。
实例演示
import java.io.File;
import java.io.IOException;
public class FileTest3 {
public static void main(String[] args) throws IOException {
//1.创建一个新文件(文件内容为空),创建成功返回true,反之。
File f1 = new File("E:/Programme/Java/aaa.txt");
System.out.println(f1.createNewFile()); //true
//2.创建文件夹,注意:只能创建一级文件夹
File f2 = new File("E:/Programme/Java/aaa");
System.out.println(f2.mkdir()); //true
//3.创建多级文件夹,也就是相当于递归创建文件夹
File f3 = new File("E:/Programme/Java/bbb/ccc/ddd");
System.out.println(f3.mkdirs()); //true
}
}
运行结果:
import java.io.File;
import java.io.IOException;
public class FileTest3 {
public static void main(String[] args) throws IOException {
//4.删除文件,或者空文件夹,注意:不能删除非空文件夹。
System.out.println(f1.delete()); //true
System.out.println(f2.delete()); //true
}
}
运行结果:
常用方法3:遍历文件夹
方法
File类提供的遍历文件夹的功能
方法名称 | 说明 |
---|---|
public String[] list() | 获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。 |
public File[] listFiles() | 获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点) |
使用listFile方法时的注意事项
- 当主调是文件,或者路径不存在时,返回null
- 当主调是空文件夹时,返回一个长度为0的数组
- 当主调是一个有内容的文件夹时,将里面所有一级文件和文件夹的路径放在File数组中返回
- 当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
- 当主调是一个文件夹,但是没有权限访问该文件夹时,返回null
实例演示
import java.io.File;
public class FileTest4 {
public static void main(String[] args) {
//1.获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。
File f1 = new File("E:/Programme/vs2019");
String[] names = f1.list();
for(String name:names){
System.out.println(name);
}
System.out.println("---------------------");
//2.获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)
File[] files = f1.listFiles();
for(File file:files){
System.out.println(file.getAbsolutePath());
}
}
}
运行结果:
END
学习自:黑马程序员——Java课程