File类

1.File类

1.概念:

文件或者目录(文件夹)都封装成File对象

构造方法:(windows中的路径或文件名不区分大小写)

File(String pathname)

File(File parent,String child)(父路径加上子路径

2.File方法:

注意:很多方法有File和String两种返回类型

创建:
public boolean createNewFile()   //创建文件 如果存在这样的文件,就不创建了

public boolean mkdir():   //创建文件夹 ,但是只能创建单层。**如果父目录不存在就不能创建**

 public boolean mkdirs():   //创建文件夹,如果父文件夹不存在,会帮你**创建出来所有目录
删除:

public boolean delete():删除文件或者文件夹

获取:
String getName(): //返回路径中表示的文件或者文件夹名

 File   getAbsoluteFile() : //获取绝对路径,返回File对象

tring[] list()//获取到File构造方法中封装的路径中的文件和文件夹名 (只是遍历一个目录)

 File[]  listFiles()//获取到,File构造方法中封装的路径中的文件和文件夹名 (只是遍历一个目录)

 public File[] listFiles(FileFilter filter) //过滤一个目录下的指定扩展名的文件,或者包含某些关键字的文件夹

Long time = lastModified()  //获取当前文件的最后一次修改时间
     
      static File[] listRoots(): //列出可用的文件系统根 
     
判断:
 boolean exists(): 判断File构造方法中封装路径是否存在

 boolean isDirectory(): 判断File构造方法中封装的路径是不是文件夹

 boolean isFile(): 判断File构造方法中封装的路径是不是文件

2.文件过滤器

1.方法

public String[] list(FilenameFilter filter)

public File[] listFiles(FileFilter filter)

2.自定义过滤器

	public class MyFilter implements FileFilter{
				public boolean accept(File pathname)  {
					/*
					 * pathname 接受到的也是文件的全路径
					 * c:\\demo\\1.txt
					 * 对路径进行判断,如果是java文件,返回true,不是java文件,返回false
					 * 文件的后缀结尾是.java
					 */
					//String name = pathname.getName();
					return pathname.getName().endsWith(".java");
			
				}
			}
}
main{
   File file = new File("c:\\demo");
					File[] fileArr = file.listFiles(new MyFilter());
					for(File f : fileArr){
						System.out.println(f);
					}
}

3.原理分析

文件过滤器_原理分析

​ listFiles()遍历目录的同时,获取到了文件名全路径,调用过滤器的方法accept,将获取到的路径传递给accept方法的参数pathname

​ accept方法接收了参数pathname,参数是listFiles传递来的

​ 在accept方法中,进行判断,如果这个路径是Java文件,返回true,走着返回false

​ 一旦方法返回了true

​ listFiles将路径保存到File数组中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值