File定义和创建
File对象主要用来表示文件或目录的路径。类中提供了很多对文件或文件夹操作的方法:
public static void main(String[] args) throws IOException {
//通过字符串类型的路径创建对象 绝对路径
File file1 = new File("F:\\IDEA\\code\\test\\1.txt");//1.File(String pathname)
//通过字符串类型的路径创建对象 相对路径 工程所在路径下的test文件夹
File file2 = new File("test1");
//通过父目录的路径和文件夹名称创建对象
File file3 = new File("F:\\IDEA\\code\\test1","test");//2.File(String parent,String child)
//通过父目录的路径(File类型)和文件(文件夹)来创建
File parentName = new File("F:\\IDEA\\code");
File file4 = new File(parentName, "test");//3.File(File,String child)
}
File常用方法
//常用方法
//根据路径创建文件夹mkdir()
boolean mkdir = file4.mkdir();
//创建文件createNewFile()
boolean newFile = file1.createNewFile();//适用throws IOException抛出异常
//根据路径创建一个文件夹,如果父目录文件夹不存在自动创建父目录文件夹
boolean mkdirs = file3.mkdirs();
//判断文件或文件夹是否存在
System.out.println(file1.exists());
System.out.println(file3.exists());
//判断是否是一个文件
System.out.println(file1.isFile());
System.out.println(file3.isFile());
//判断是否是一个文件夹
System.out.println(file1.isDirectory());
System.out.println(file3.isDirectory());
//删除文件,或删除空文件夹
System.out.println(file3.delete());
//获取一个文件大小,对文件夹无意义
System.out.println(file1.length());
//获取文件夹或文件夹的名字
System.out.println(file1.getName());
//获取父目录的File对象
System.out.println(parentName.getParentFile());
//获取File对象的绝对路径
System.out.println(file1.getAbsolutePath());
File重要方法
/*
重要方法:File[] listFile()
如果当前的File对象是一个文件夹,那么可以获取当前文件下的所有文件
*/
File dir = new File("F:\\IDEA\\code\\test");
File[] files = dir.listFiles();
for (File file : files) {
System.out.println(file);
}
练习
/*
练习1:
获取F:\IDEA\code\test文件夹的大小并输出
*/
long size = 0;
if(files!=null){
for (File file : files) {
size+=file.length();
}
System.out.println(size);
}
/*
练习2:
删除F:\IDEA\code\test文件夹
因为delete方法只能删除空文件夹
所以先获取文件夹内所有的子文件,逐一删除文件后,最后删除文件夹
*/
if(dir!=null){
for (File file : files) {
file.delete();
}
dir.delete();
}