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、拼接一个新名称,重命名。
运行完效果