12文件

File类静态成员和构造方法

静态成员变量:
static String separator 名称分隔符
static String pathSeparator 路径分隔符
构造方法:
public File(String pathname) pathname文件路径名
public File(String parent,String child) 父路径名 子路径名
public File(File parent,String child) 通过父文件对象和子文件名称构造文件对象

File类基本功能

1、文件的创建:
boolean createNewFile() : 若文件不存在则创建文件
注意:
1.该方法会抛出一个IOException异常,该异常是一个编译时异常,必须处理
2.该方法创建的是文件,而不是文件夹
3.如果文件已经创建,就不会再创建了,返回false
boolean mkdir()
注意:
1.该方法没有异常
2.该方法创建的是文件夹
3.如果文件已经创建,就不会再创建了,返回false
boolean mkdirs()
注意:
1.该方法没有异常
2.该方法创建的是连续的文件夹
3.如果文件已经创建,就不会再创建了,返回false
记住:无论做任何的操作,第一步都必须封装文件路径

  • 相对路径: 不以盘符开头
  • 绝对路径: 以盘符开头
  • 网络路径: http://192.168.0.1:80/test/a.txt
    2、文件的删除
    boolean delete()
    删除此抽象路径名表示的文件或目录。
    注意:
    1.既可以删除文件,也可以删除文件夹
    2.删除文件夹,文件夹必须是空的
    那么如何删除带内容的文件?
    1.逐级删除 太麻烦
    2.递归删除(这里暂时不讲)
    3.修改功能
    public boolean renameTo(File dest) 重命名为dest
    public class FileDemo04 { public static void main(String[] args) { File file = new File("a.txt"); boolean result = file.renameTo(new File("b.txt")); System.out.println(result); }}
    4.文件的判断功能
    public boolean isFile() 是否文件
    public boolean isDirectory() 是否目录
    public boolean canRead() 是否可读
    public boolean canWrite() 是否可写
    public boolean exists() 是否存在
    public boolean isHidden() 是否隐藏
    public long length() 长度
    public String getAbsolutePath() 绝对路径
    public String getPath() 定义的路径
    public String getName() file名字
    public long lastModified() 最后一次修改时间
    5.文件的遍历功能
    public String[] list() 返回file下的文件和目录名称(字符串)
    public File[] listFiles() 返回file下的文件和目录(文件)
    public String[] list(FilenameFilter filter) 根据filter过滤返回file下文件和目录名称
    public File[] listFiles(FileFilter filter) 根据filter过滤返回file下文件和目录
    示例代码:
    public File[] listFiles(FileFilter filter) 根据filter过滤返回file下文件和目录 public class FileDemo08 { public static void main(String[] args) { File file = new File("D:\\21321312312313123\\JavaSE\\chapter03_分支语句\\课堂案例\\键盘录入对象Scanner"); File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File file) { return file.getName().endsWith(".java"); }//重写accept代码 }); for (File f : files) { System.out.println(f.getAbsolutePath()); }}}

File类的批量操作

经典题:(使用正则)

批量修改某个文件夹下的视频文件
例如:
Video
a
|- 01.Collections工具类讲解.mp4
|- 02.枚举的引入_枚举的概念_特点.mp4
|- 03.枚举的特点.mp4
b
|- 01.Collections工具类讲解.mp4
|- 02.枚举的引入_枚举的概念_特点.mp4
|- 03.枚举的特点.mp4
批量修改后
Video
|- (1)_Collections工具类讲解.mp4
|- (2)_枚举的引入_枚举的概念_特点.mp4
|- (3)_枚举的特点.mp4
关键代码:
String fileName="09.Scanner键盘输入.mp4"; String regex="(\\d)\\.([\\w\\u4e00-\\u9fa5]+)\\.mp4"; String newName=fileName.replaceAll(regex, "($1)_$2.mp4"); List<File> files=FileUtils.getFiles(new File("d:\\user"),"mp4"); for(File file:files) { String newName=file.getName().replaceAll(regex, ""($1)_$2.mp4"); File newFile=new File(file.getParentFile(),newName); System.out.println(file.getName()+"更名"+(file.renameTo(newName)?"成功":"失败")+newName.getName()); }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值