//ListFilesDemo 获取一个目录的所有子项-----------------
package day0824;
import java.io.File;
public class ListFilesDemo {
public static void main(String[] args) {
File dir = new File(".");//当前目录
if(dir.isDirectory()){//如果是目录
File[] subs = dir.listFiles();
for(File sub : subs){
String name = sub.getName();
long length = sub.length();
System.out.println(name+":"+length);
}
}
}
/**
* 运行结果:
.classpath:662
.project:1038
.settings:4096
build:0
demo:4096
src:4096
WebContent:0
*/
}
//FileFilterDemo 文件循环过滤--------------
/**
* listFile方法支持过滤器
* 实现该接口需要实现抽象方法
* boolean accept(File f)
* 该方法要求我们定义过滤条件
*
* listFile会将当前目录下
* 满足accept方法的子项返回
*/
package day0824;
import java.io.File;
import java.io.FileFilter;
public class FileFilterDemo {
public static void main(String[] args) {
File dir = new File(".");
File[] subs = dir.listFiles(new MyFileFilter());
for(File sub : subs){
String name = sub.getName();
long length = sub.length();
System.out.println(name+":"+length);
}
}
}
/**
* 文件名开头为点号的文件过滤出来
*/
class MyFileFilter implements FileFilter{
@Override
public boolean accept(File file) {
System.out.println("正在过滤的文件:"+file.getName());
return file.getName().startsWith(".");
}
}
/**运行结果:
正在过滤的文件:.classpath
正在过滤的文件:.project
正在过滤的文件:.settings
正在过滤的文件:build
正在过滤的文件:demo
正在过滤的文件:src
正在过滤的文件:WebContent
.classpath:662
.project:1038
.settings:4096
*/
//创建多级目录下的一个文件-------------------------------
/**
* 首先创建父目录,然后创建文件
*/
package day0824;
import java.io.File;
import java.io.IOException;
public class ParentDirDemo {
public static void main(String[] args) throws IOException {
//在项目根目录下创建a/b/c/test.txt
File file = new File("a"
+File.separator+"b"
+File.separator+"c"
+File.separator+"test.txt");
File parent = file.getParentFile();//取得父目录
if(!parent.exists()){//父目录不存在,就创建
parent.mkdirs();
}
if(!file.exists()){//文件不存在,就创建
file.createNewFile();
}
}
}
File(2) listFiles 文件过滤(FileFilter) 父目录getParentFile
最新推荐文章于 2022-08-14 07:10:29 发布