Java基础-File类的相关知识和常用方法

File类

继承Object类

实现了Serializable和Comparable接口

文件和目录路径名对抽象表现形式

File类的构造方法

File(String pathname) :根据一个路径得到一个File对象

把根目录下的路径为/User/art/Desktop/a.txt的a.txt文件封装成一个File类对象

File file = new File("/User/***/Desktop/a.txt");

在这里插入图片描述

File(String parent,String child) :根据一个目录,和一个子文件/目录 得到一个File类对象

File file3 = new File("/User/***/Desktop",“a.txt”);

在这里插入图片描述

File(File parent,String child) :根据一个父File文件对象,和一个子文件/目录得到File类对象

File file1 = new File("/User");

File file2 = new File(file1,"/***/Desktop/a.txt");

在这里插入图片描述

File类的创建功能

要想在某个目录下创建文件,该目录必须存在

否则就会产生报错Exception in thread “main” java.io.IOException: No such file or directory (系统找不到指定路径)

public boolean createNewFile() :创建文件

在这里插入图片描述

public boolean mkdir() :创建文件夹,如果存在,就不创建

File file = new File("/Users/***/Desktop/demo");## public boolean mkdirs() :

在这里插入图片描述

public boolean mkdirs() :创建文件夹,如果父文件夹不存在,创建父文件夹

在这里插入图片描述

File类的删除功能

public boolean delete() :既可以删除文件,也可以删除文件夹

在这里插入图片描述

在这里插入图片描述

File类的重命名功能

public boolean renameT(File dest)

如果文件的路径名相同,就是重命名,如果路径名不同,就是剪切

在这里插入图片描述

在这里插入图片描述

File类的判断功能

public boolean isDirectory() :判断是否是目录

public boolean isFile() :判断是否是文件

public boolean exists() :判断是否存在

public boolean canRead() :判断是否可读

public boolean canWrite() :判断是否可写

public boolean isHidden() :判断是否隐藏

File类的基本获取功能

public String getAbsolutePath() :获取绝对路径

pubic Srting getPath() : 获取相对路径

public String getName() :获取名称

public long length() :获取长度 字节数

public long lastModified() :获取最后一次的修改时间 豪秒数

在这里插入图片描述
在这里插入图片描述

File类的高级获取功能

public String[] List() :获取指定目录下,所有文件夹挥着文件夹名称的数组,返回字符串数组

在这里插入图片描述

输出结果

在这里插入图片描述

public File[] listFiles() :获取指定目录下所有文件或者文件夹的File对象数组,调用方法输出文件名和绝对路径。

在这里插入图片描述

输出结果

在这里插入图片描述

File类练习题-判断目录下后缀为txt的文件

需求:判断某目录下是否有后缀名为txt的文件,如果有,输出文件名

在这里插入图片描述

在这里插入图片描述

输出结果

在这里插入图片描述

File类的FilenameFilter接口(文件名称过滤器)

在参数列表中,传入一个实现FilenameFilter接口的类并重写accpet方法,通常可以采用在参数列表中创建匿名内部类来实现

public String[] list(FilenameFilter filter)

public File[] listFile(FilenameFilter filter)

和上面的题目一样 判断某目录下是否有后缀名为txt的文件,如果有,输出文件名。

在这里插入图片描述

这次用文件名称过滤器这个接口来实现

思路:在输出之前遍历所有的内容,判断后将内容输出

在这里插入图片描述

File类练习题-批量修改文件名

需求:把目录下的文件名修改为00?介绍.txt

在这里插入图片描述

思路

1、封装目录

2、获取该目录下所有文件的File类的对象数组

3、遍历File类对象数组,得到每一个File对象

4、拼接一个新名称,重命名。

在这里插入图片描述

运行完效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/NONAME999/article/details/84868820