File的常见成员方法

一.判断,获取

注意:这里写的都是我的电脑里的存文件的路径,记得把路径改为自己电脑中存储的位置

public boolean isDirectory()判断此路径名表示的File是否为文件夹

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.isDirectory());
    }
}

public boolean isFile()判断此路径名表示的File是否为文件

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.isFile());
    }
}

public boolean exists()判断此路径名表示的File是否存在

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.exists());
    }
}

public long length()返回文件的大小(单位为字节)

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.length());
    }
}

public String getAbsolutePath()返回定义文件时使用的路径

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.getAbsolutePath());
    }
}

public String getName()返回文件的名称,带后缀

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.getName());
    }
}

public long lastModified返回文件的最后修改时间(单位为毫秒)

import java.io.File;

public class file {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
        System.out.println(f.lastModified());
    }
}

二.创建,删除

public boolean createNewFile()创建一个新的空的文件

注意点1:该方法的boolean返回值表示创建是否成功,在()中填入的路径地址不存在则创建成功,如果已经存在则会创建失败

注意点2:如果没有写出创建文件的后缀名(.txt等等),那么就会创建一个不带有后缀的文件

import java.io.File;
import java.io.IOException;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\b.txt");
        System.out.println(f.createNewFile());
    }
}

public boolean mkdir()创建单级文件夹

注意点1:boolean返回值的作用同上

注意点2:在Windows操作系统中,路径名称是唯一的,如果重复则会创建失败

注意点3:mkdir只能创建单级文件夹,那么如果路径中包含多级没有创建的文件夹就会报错(\\aaa\\bbb\\ccc三个文件夹都还没有创建,那么就会报错)

import java.io.File;
import java.io.IOException;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\c");
        System.out.println(f.mkdir());
    }
}

public boolean mkdirs()创建多级文件夹

注意:mkdirs方法同样可以创建单级文件夹

import java.io.File;
import java.io.IOException;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\aaa\\bbb\\ccc");
        System.out.println(f.mkdirs());
    }
}

public boolean delete()删除文件和空文件夹

注意:如果删除的文件,则会直接删除(不会在回收站中存在);如果删除的是空文件夹,同样是直接删除;但是如果删除的是有内容的文件夹则会删除失败

import java.io.File;
import java.io.IOException;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\aaa\\bbb\\ccc");
        System.out.println(f.delete());
    }
}

三.获取并遍历

(最常用的方法)

public File[] listFiles()获取当前路径下所有内容

import java.io.File;
import java.io.IOException;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6");
        File[] files = f.listFiles();
        for (File file : files) {
            System.out.println(file);
        }
    }
}

注意点1:当调用者File表示的路径不存在时,返回null

注意点2:当调用者File表示的路径是文件时,返回null

注意点3:当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组

注意点4:当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回

注意点5:当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件

注意点6:当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

其他的获取并遍历的成员方法:

public static File[] listRoots()列出可用的文件系统根(即获取系统中所有的盘符)

public String[] list()获取当前该路径下的所有内容(仅能获取名字)

public String[] list(FilenameFilter filter)利用文件名过滤器获取当前该路径下的所有内容

注意点:如果在accept中返回false,那么就代表全部过滤,什么都不返回,而如果返回true就代表全部不过滤,全都返回;我们在accept中写具体的过滤规则

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;

public class file {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6");
        String[] str = f.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return false;
            }
        });
        System.out.println(Arrays.toString(str));
    }
}

public File[] listFiles(FileFilter filter)利用文件名过滤器获取当前该路径下的所有内容

public File[] listFiles(FilenameFilter filter)利用文件名过滤器获取当前该路径下的所有内容

  • 34
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值