File类用于文件\文件夹的各种操作:创建、删除、修改名称、查看各种信息、各种判断等
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流。
File类的三个构造方法:
- public File(String pathname)
- public File(String parent,String child)
- public File(File parent,String child)
File类的常用方法:
只针对文件/文件夹,如果涉及到文件内容的修改或读写,需要用到IO流。
- getAbsolutePath():获取绝对路径;
- getAbsoluteFile():获取绝对路径;
- getPath():获取相对路径;
- getName():获取文件名;
- getParent():获取上一级路径;
- length():获取文件大小;
- lastModified():获取文件最后的修改日期;
- list():获取指定目录下所有文件/文件夹的名称数组
- listFiles():获取指定目录下所有文件/文件夹的File数组
- a.renameTo(b):a必须存在,b不许存在,可以起到移动文件/文件夹的作用
- isFile():是否是文件;
- isDirectory():是否是文件夹;
- canRead():是否可读;
- canWrite():是否可写;
- isHidden():是否隐藏;
- exists():是否存在;
- createNewFile():创建新文件,如果存在,不创建,返回false;
- delete():删除文件/空文件夹;
- mkdirs():创建文件夹,上层没有一并创建;
- mkdir():创建文件夹,上层没有也不创建;
例:
判断指定目录下是否有后缀名为.exe的文件,如果有,就输出该文件名称
package cn.jingpengchong.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\baidu\\Baidu");
select(file);
}
public static void select(File file){
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()){
select(files[i]);
}else{
if(files[i].getName().endsWith(".exe")){
System.out.println(files[i].getName());
}
}
}
}
}
运行结果如下: