API(File)

File

File类代表文件或者文件夹的类

方法

1、创建代表文件类的对象

创建对象时只是把路径信息放到对象身上并不检测路径信息是否存在
等到对象做具体操作时再检测路径信息是否存在
eg: File file=new File(“D:\a.txt”);

2、新建空文件

file.createNewFile();

3、创建新的文件夹(多级)

file.mkdirs();

4、可以删除文件无论是否有内容

只能删除没有内容的文件夹
不进回收站永久删除
file.delete();

5、会把当前文件夹下所有的信息当做成File对象存储在数组中并进行返回

File[] fs = file.listFiles();

6、遍历数组

for(File f:fs){
System.out.println(f);//每个数组元素代表是一个File类对象}

7、判断File类对象是否是文件夹

file.isDirectory()

8、判断File类对象是否是文件

file.isFile()

9、返回文件名称以及后缀

file.getName()

10、返回文件的当前文件夹的路径信息

file.getParent()

11、返回全路径信息(路径+文件信息)

file.getPath()

12、返回上次修改的时间(从1970年1月1日0时0分0秒到此时的毫秒值)

file.lastModified()

13、修改上次修改的时间

file.setLastModified(3456313457L);

14、获取名称中含有数字的信息

按照过滤条件来过滤指定信息,把过滤之后的信息当做成File类的对象存放到数组中并进行返回

File[] fs = file.listFiles(new FileFilter() {
//重写方法就是来指定过滤规则
public boolean accept(File pathname) {
return pathname.getName().matches(".\d.");
}
});

File[] fs = file.listFiles(new FilenameFilter() {
// //重写方法就是来指定过滤规则
public boolean accept(File dir, String name) {//name代表文件名称
return name.matches(".\d.");
}
});

15、重命名–通过剪切实现的

file.renameTo(new File(“D:\javase\c.txt”));

练习

1、删除文件/文件夹(无论文件夹是否有内容 递归思想)

public class FileDemo {
public static void main(String[] args) {
//创建file类对象
File file = new File(“D:\a\b”);
//调用递归方法
iterDemo(file);
}
public static void iterDemo(File file) {
//判断是否为文件夹
if (file.isDirectory()) {
//如果是,那将文件中的所有信息当作File对象放入数组中进行返回
File[] fs = file.listFiles();
//遍历数组,只有循环完毕,说明当前文件夹变为空文件夹
for (File f : fs) {
//进行递归循环
iterDemo(f);
}
}
//删除空文件夹以及文件
file.delete();
}
}

2.同级工程中的所有的.java文件个数以及.class文件个数

public class FileDemo2 {
private static int countjava;
private static int countclass;

public static void main(String[] args) {
    //创建file类对象
    File file = new File("D:\\workspace");
    //调用递归方法
    iterDemo(file);
    System.out.println(".java文件个数:" + countjava + ",.class文件个数:" + countclass);
}  public static void iterDemo(File file) {
    if (file.isDirectory()) {//判断文件是否为文件
        //如果是,那将文件中的所有信息当作File对象放入数组中进行返回
        File[] fs = file.listFiles();
        //遍历数组,只有循环完毕,说明当前文件夹变为空文件夹
        for (File f : fs) {
            //进行递归循环
            iterDemo(f);
        }
    } else if (file.getName().endsWith(".java")) {
        countjava++;
    } else if (file.getName().endsWith(".class")) {
        countclass++;
    }
}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值