File文件操作类
javaIo包中,File类是唯一一个与文件本身操作(创建、删除、取得信息)有关,与文件内容无关的程序类。
1. File类(可以描述真实文件,也可以是个文件夹,也可以是路径)的基本使用
-
File类的两种实例化方式:
public File(String pathname)
:绝对路径
public File(String parent,String child)
:设置父路径和子路径 -
创建新文件:
public boolean createNewFile() throws IOException
-
判断文件是否存在:
public boolean exists()
-
判断文件是否删除
public boolean delete()
-
路径分隔符:
File.separator
2.目录操作
1.2.1 取得父路径与父File对象
public String getParent();
public File getParentFile();
1.2.2 创建目录(无论有多少级父目录,都会一次性创建)
public boolean mkdirs();
3.取得文件信息
public Boolean isFile();
:判断File对象是否是文件
public boolean isDirectory();
:判断File对象是否是路径
public long length();
:取得文件大小
public long lastModified();
:取得最后修改日期
public File[] listFiles();
:列举一个目录的全部组成
IO相关处理属于阻塞式耗时操作,一般放在子线程中进行。
打印电脑桌面所有文件夹~
public class Test {
public static void main(String[] args) throws IOException {
//1.取得File对象
new Thread(()->{
File file = new File("C:" + File.separator + "Users" + File.separator + "Lenovo" +
File.separator + "Desktop");
System.out.println("遍历文件开始..");
long start = System.currentTimeMillis();
listAllFiles(file);
long end = System.currentTimeMillis();
System.out.println("遍历文件用时:"+(end-start));
}).start();
System.out.println("主线程继续进行.");
}
public static void listAllFiles(File file){
if(file.exists() && file.isFile()){
System.out.println(file);
}else{
//此时file对象是路径
File[] files = file.listFiles();
for(File file1:files){
listAllFiles(file1);
}
}
}
}