File文件对象

表示路径,可以是文件或文件夹,可以是存在的,也可以是不存在的
绝对路径是带盘符的,相对路径是不带盘符的,默认到当前项目下去找

File的三种构造方法

public File(String pathname):把字符串表示的路径变成File对象
public File(String parent,string child):把父级路径和子级路径进行拼接
public File(File parent,String child):把父级路径和子级路径进行拼接

File成员方法

图片损坏 图片损坏 图片损坏

部分方法的细节

length():
返回值是long,单位是字节,如果想要改变单位,/1024
无法获取文件夹的大小,如果要获取文件夹的大小,累加文件夹中所有文件
createNewFile():
当前文件夹不存在,创建成功,返回true;存在,创建失败,返回false;
如果父级路径不存在,方法会有异常IOException;
创建的一定是文件,如果路径中不包含后缀名,创建一个没有后缀的文件
mkdir():
windows中路径是唯一的,如果当前路径已经存在,创建失败,返回false;
此方法只能创建单级文件,无法创建多级文件夹;而mkdirs()方法既可创建单级的,又可以创建多级的文件夹;
delete():
如果删除的是文件,直接删除,不走回收站;
如果删除的是空文件夹,直接删除,不走回收站;
如果删除的是有内容的文件夹,则删除失败;
listFiles():
当调用者File表示的路径不存在时,返回null;
当调用者File表示的路径是文件时,返回null;
当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组;
当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回;
当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件;
当调用者File表示的路径是需要权限才能访问的文件夹时,返回null;

遍历文件夹

要遍历某个盘符或某个文件夹中的所有文件,通常需要使用递归:
1.进入想要遍历的文件夹,利用listFiles()方法获取file数组
2.遍历数组,依次得到每一个文件夹或文件
3.判断如果是文件执行业务逻辑
4.判断如果是文件夹,递归,此时参数是文件夹的次一级路径
5.注意是否可能存在空指针异常(一般是由于存在无访问权限的文件,此时listFile()返回的是Null)