File 类
File不能访问文件数据
- 创建File类对象,仅仅用于表示一个路径。并不会检查路径是否真实
File file = new File("D:\\创建目录的地址")
- 绝对路径:从盘符开始的路径
相对路径:相对于某一文件夹的路径 file.getAbsolutePath(),“.”="."代表当前目录,在idea中当前目录指的是当前项目目录。如果不写./则代表默认当前目录。
获取文件名 separatorChar:目录分隔符 windows \ linux 是 /
路径分隔符:windows ;Linux:
file.exists() :判断目录或者文件是否存在
file.length():表示文件的长度,单位是字节
file.getFreeSpace() : 获取剩余空间大小
file.getUsableSpace():获取可用空间
file.getTotalSpace():获取总大小
file.isAbsolute():判断是否是绝对路径
file.renameTo(new File(“\路径的名称”)):移动文件夹位置并重命名
file.getName():提取文件或最后一个子目录的名称
file.getname().endsWith(“.java”):文件的结尾是.java
file.getName.contain(“a”) : 包含字母a的文件
file.mkdir():如果file位置不存在则在文件位置创建一个目录,不能创建多级目录。目录创建成功时返回true
file.mkdirs():如果file位置不存在则在文件位置创建一个多级目录
file.delete():从file位置删除文件,不可逆,回收站里也没有。删除目录时,目录必须是一个空目录
Boolean file.createNewFile():创建一个新文件,这个新文件的目录要存在。返回true :文件被创建 false:文件已经存在
// 获取目录中所有子目录和子文件
//如果要删除一个文件夹中的所有文件
- 传文件
- 判断传的文件是否是一个文件夹,如果是则使用listFiles将文件转化为数组,再用for循环遍历数组,将数组中的每一项递归入新创建的方法。
- 对于一个有文件有文件夹的来说,会先遍历到最后一个文件夹的最后一个文件,此时才从最里面的文件向外面删除。删除完最里面文件夹的文件后,文件夹是空的,可以使用delete删除。
File[] files = file.listFiles();//File数组中每一个子项代表一个文件或目录
for(File file1 : files){
sout(file1);
}
过滤器 FileFilter
File files = new File(“.”)
//匿名内部类的形式创建过滤器
FileFilter filter = new FileFilter(){
public boolean accept(File file){
String name = files.getName();
return name.endsWith(".txt");//return后面加过滤条件,返回false则被过滤
}
}
File[] subs = file.listFiles(filter);//加入filter过滤器后可以将file中不符合条件的过滤出去
file.isFile() : 判断是否是文件
file.isDirectory():判断是否是目录
判断一个字符串是否包含一个字符
String.indexof(“a”) //返回a第一次出现在字符串中的位置,索引从0开始计数。返回-1说明不存在
String.contains(“a”) //返回布尔值