此处我只写了获取模板 ,如果需要创建目录,修改目录,删除文件都可直接添加在对应位置对应API即可。
@Test
public void tes2(){
File file = new File("C:\\idea\\idea_workspace");
getDocument(file,"java");
}
/**
* 操作指定目录下的指定后缀名的模板方法
* @param src 目标文件
* @param target 指定后缀
*/
public void getDocument(File src ,String target){
//将目标文件下所有子文件或者子文件夹存放到file数组中
File[] files = src.listFiles();
if (files == null){
System.out.println(src.getName()+"为空");
return; //结束方法
}
//否则不为空
for (int i = 0; i < files.length; i++) {
//File数组中的所有元素赋给File对象 file
File file = files[i];
//判断是否为目录
if (file.isDirectory()){
//是目录,就递归遍历
getDocument(file, target);
}else {
//判断文件是否为指定后缀结尾的文件
if (file.getName().endsWith(target)){
System.out.println(file.getName()+" 以 "+target+" 结尾");
//file.length() :文件大小 单位KB
// file.delete();
System.out.println(file.length()+" KB");
}
}
}
}
java.io.File类的常用方法
一、java.io.File 类:用于描述文件、目录。用于文件或目录的基本操作如新建、删除、重命名等。
若需要操作文件的内容 File 对象将无能为力。若需要操作文件的内容需要使用 IO 流。
因此通常 File 对象与 IO 流配合使用,将 File 对象作为参数传递给 IO 流的构造器
java.io.File 类
描述文件或目录,用于操作文件或目录新建、删除、重命名等基本操作
若需要操作文件的内容,File 对象将无能为力,需要使用 IO 流
通常 File 对象与 IO 配合使用,将 File对象作为参数传递给 IO 流的构造器。
- 访问文件名:
getName():获取文件名
getPath():获取相对路径
File getAbsoluteFile() :获取绝对路径的 File 对象
String getAbsolutePath() :获取绝对路径对应的字符串
getParent():获取父路径
renameTo(File newName):重命名
file1.renameTo(file2) : file1 必须存在,file2 必须不存在
- 文件检测
exists() : 判断文件或目录是否存在
canWrite() : 判断是否可写
canRead() :是否可读
isFile() :判断是不是一个文件
isDirectory() :判断是不是一个目录 - 获取常规文件信息
lastModified() :获取最后修改时间对应的毫秒值
length():获取文件的大小,但是注意目录没有大小 - 文件操作相关
createNewFile() :创建一个“文件”
delete() :删除文件,若需要删除目录必须将目录中所有的内容全部删掉再删当前目录 - 目录操作相关
mkDir() :新建一个目录,如:e:/io/abc 若io包不存在则abc不能创建,若io存在则abc可以创建成功
mkDirs() :新建目录,如:e:/io/abc 若io包不存在则自动创建io包
String[] list():获取指定目录下所有的文件列表字符串名称
File[] listFiles():获取指定目录下所有文件和目录的 File 对象