File类的基础知识:
1.构建File类对象(3种方式)
File a=new File("E:\\java\\day22\\day22");
System.out.println(a);
File b=new File("E:\\java\\day22","day22");
System.out.println(b);
File c=new File("E:\\java\\day22");
File d=new File(c,"day22");
System.out.println(d);
结果: E:\java\day22\day22
E:\java\day22\day22
E:\java\day22\day22
2.listFiles()方法介绍:获取一个目录中的所有文件或者目录中的文件夹
File a=new File("E:\\java\\day22\\day22");
String [] list=a.list();//获取的是目录下的当前的文件以及文件夹的名称。
for(String k:list) {
System.out.println(k);
}
System.out.println();
File[] list2=a.listFiles();//获取目录下当前文件以及文件对象,只要拿到了文件对象
for(File k:list2) {
System.out.println(k.getName());//.getname()见文章末常用方法
//如果不加getName结果前面会加上路径名E:\java\day22\day22\
}
System.out.println();
两个结果相同: 250.txt
day22-(File)教案.doc
day22-File.pptx
day22_code
day22_source
day22_video
day22作业&预习
IO第一部分.xmind
FilenameFilter的使用:多用来过滤文件筛选需要的文件
public class test2 {
public static void main(String[] args) {
File a=new File("E:\\java\\day22\\day22");
File[] b=a.listFiles(new myfilenamefilter());//获取指定扩展名的文件,由于要对所有文件进行扩展名筛选,因此调用方法需要传递过滤器
for(File c:b) {
System.out.println(c);
}
}
}
//自定义类继承 FilenameFilter接口,自己需要什么文件就怎么写过滤条件
class myfilenamefilter implements FilenameFilter{
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
}
结果:250.txt
FileFilter的使用:多用于过滤文件目录筛选需要的目录
public class test3 {
public static void main(String[] args) {
File a=new File("E:\\java\\day22\\day22");
File[] b=a.listFiles(new myfilefilter());
for(File k:b) {
System.out.println(k.getName());
}
}
}
class myfilefilter implements FileFilter{
public boolean accept(File path) {
return path.isDirectory();
}
}
结果: day22_code
day22_source
day22_video
day22作业&预习
File常见方法
一、获取文件信息类
代码演示:
File a=new File("E:\\java\\day22\\day22");
String abspath=a.getAbsolutePath();
String path=a.getPath();
String filename=a.getName();
long size=a.length();
System.out.println("abspath:"+abspath);
System.out.println("path:"+path);
System.out.println("fname:"+filename);
System.out.println("size:"+size);
结果:
abspath:E:\java\day22\day22
path:E:\java\day22\day22
fname:day22
size:4096
二、文件和文件夹的创建删除
File a=new File("E:\\java\\day22\\day22");
File x=new File("E:\\java\\day22\\day22\\nice");
File java=new File(a,"250.txt");
boolean b1=java.createNewFile();//文件没有则创建返回ture,文件存在则不创建返回false
System.out.println("b1:"+b1);
boolean b2=java.exists();
System.out.println("b2:"+b2);
boolean x1=x.mkdir();
System.out.println(x1);
System.out.println(java.isFile());
System.out.println(a.isDirectory());
结果:
b1:false//因为之前运行过一次已经创建了所以返回false
b2:true
true
true
true
文件夹里效果: