二刷java基础第十八天——File类
Posted 名字真的很急用
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二刷java基础第十八天——File类相关的知识,希望对你有一定的参考价值。
file的概念:就是对我们本地文件管理的类file
java可以操作我们的本地磁盘
文件
路径
使用file类
构造方法:
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
//抽象:指的是file表示的这个目录可能存在也可能不存在
获取文件或者目录
String [] list
成员方法:
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串 //全路径
String getName() 返回由此抽象路径名表示的文件或者目录名称 //自己本身
String getPath() 将此抽象路径名称转换为路径名字符串
length() 文件的长度
boolean createNewFile() 创建文件 不存在的
boolean exists()测试此抽象路径名表示的文件或目录是否存在
boolean isDirectory() 判断是否是目录
boolean isFile() 判断相对路径是否为文件
boolean delete() 删除此抽象路径名表示的文件或者目录
boolean mkdir() 创建目录 单层
boolean mkdirs() 创建目录 多层
File类中对目录或者文件的遍历
String s[] = file.list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
File f[] =file.listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File f[]=file.listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
例1:对一个目录下遍历出所有的文件
import java.io.File;
public class demo2 {
static int i =0;
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("E:\\\\Program Files\\\\feiq\\\\Recv Files\\\\0730");
method(f);
System.out.println(i);
}
public static void method(File f) {
File [] files =f.listFiles();
for(File ff:files) {
if(ff.isFile()) {
if(ff.getName().endsWith(".mp4")) {
System.out.println(ff);
i++;
}
}else {
method(ff);
}
}
}
}
例2:遍历一个目录下指定的全部类型文件
import java.io.File;
import java.io.FileFilter;
public class demo03 {
static int i =0;
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("E:\\\\Program Files\\\\feiq\\\\Recv Files\\\\0730");
method(f);
}
public static void method(File f) {
//先过滤
File[] files =f.listFiles(new FileFilter() { //匿名内部类 实现接口中的方法
@Override
public boolean accept(File pathname) { //重写接口中accept的方法...
// TODO Auto-generated method stub
if(pathname.isFile()) {
String name =pathname.getName();
return name.endsWith(".mp4");
}else {
method(pathname);
}
return false;
}
});
for(File ff:files) {
i++;
if(ff.isDirectory()) {
method(ff);
}else {
System.out.println(ff.getName());
}
}
}
}
结果:
01作业.mp4
02匿名对象的使用场景.mp4
03匿名对象的使用场景.mp4
04内部类概述.mp4
05内部类的分类.mp4
06成员内部类的初始化.mp4
07局部内部类.mp4
08匿名内部类.mp4
09从生成的class文件上观察.mp4
10匿名内部类的真正使用.mp4
11匿名内部类多态的详解.mp4
12代码块.mp4
13静态代码块的用途.mp4
14包的概述.mp4
15自动打包.mp4
16import的使用.mp4
17增强for.mp4
01作业.mp4
02匿名对象的使用场景.mp4
03匿名对象的使用场景.mp4
04内部类概述.mp4
05内部类的分类.mp4
06成员内部类的初始化.mp4
07局部内部类.mp4
08匿名内部类.mp4
09从生成的class文件上观察.mp4
10匿名内部类的真正使用.mp4
11匿名内部类多态的详解.mp4
12代码块.mp4
13静态代码块的用途.mp4
14包的概述.mp4
15自动打包.mp4
16import的使用.mp4
17增强for.mp4
以上是关于二刷java基础第十八天——File类的主要内容,如果未能解决你的问题,请参考以下文章