ava.io包中
知识铺垫
相对路径:在当前路径下创建的路径
绝对路径: 带盘符的完整路径
1、构造函数
File(File parent, String child)从父抽象路径名和子路径名字符串创建新的 File实例。
File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child)从父路径名字符串和子路径名字符串创建新的 File实例。
File(URI uri)通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。
2、方法探究:
(1)判断文件、文件夹相关
boolean exists() :判断是否存在
booleanis File() : 判断是不是文件
boolean isDirextory() : 判断是不是目录
boolea canWrite()
boolean canRead()
boolean canExecute() : 是否可执行
long lastModifiled() : 最后一次修改的时间 返回long类型 可以转为date对象
long length() : 判断文件大小 返回long类型
(2)文件、文件夹创建、删除相关
boolean createNewFile() // 只有当该文件不存在时,创建新的文件
boolean delete() // 立即删除文件
boolean deteleOnExit() // 当程序结束时删除此文件
boolean mkDir() // 只创建指定单个文件夹(在绝对路径下只有当生层目录存在时才能创建目标文件夹)
boolean mkDirs() // 一并创建多个文件夹(如果所传的绝对路径的上层文件夹不存在,一并创建)
String[ ] list() // 将文件夹中的文件名以字符串形式保存到字符串数组里 (用于查看文件夹中的 的文件名称) 也可以直接将隐藏文件打印出来
String[ ] list( FilenameFilter fiter) //使用指定过滤器 过滤不需要的文件,然后放到数组中去
File[ ] listFiles() // 将文件夹中的文件以文件形式保存,可以进行文件相关操作
(3)过滤器的使用
//举例: 使用自定义过滤器,找到file中的名称中只包含关键字的文件
File[] files = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return dir.isFile() && name.contains(str); //找到包含关键字的文件
}
});
// 使用自定义过滤器找到file中的 目录
File[] files2 = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return dir.isDirectory(); //找到目录
}
});
(4)文件夹、目录复制相关注意点
使用赋值目录时,不能将父目录复制到子目录中去
在windows操作系统中,不能如此操作,但是可以使用java代码实现这样的操作。
如果如此操作,就会导致子含父、父含子,编程一个超长的目录,此时不能正常删除。
此时需要借助外部工具删除。roboCopy 。