• File的常见成员方法


    一.判断,获取

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

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.isDirectory());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.isFile());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.exists());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.length());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.getAbsolutePath());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.getName());
    6. }
    7. }

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

    1. import java.io.File;
    2. public class file {
    3. public static void main(String[] args) {
    4. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\a.txt");
    5. System.out.println(f.lastModified());
    6. }
    7. }

    二.创建,删除

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

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

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

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class file {
    4. public static void main(String[] args) throws IOException {
    5. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\b.txt");
    6. System.out.println(f.createNewFile());
    7. }
    8. }

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

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

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

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

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class file {
    4. public static void main(String[] args) throws IOException {
    5. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\c");
    6. System.out.println(f.mkdir());
    7. }
    8. }

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

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

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class file {
    4. public static void main(String[] args) throws IOException {
    5. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\aaa\\bbb\\ccc");
    6. System.out.println(f.mkdirs());
    7. }
    8. }

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

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

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class file {
    4. public static void main(String[] args) throws IOException {
    5. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6\\aaa\\bbb\\ccc");
    6. System.out.println(f.delete());
    7. }
    8. }

    三.获取并遍历

    (最常用的方法)

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

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class file {
    4. public static void main(String[] args) throws IOException {
    5. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6");
    6. File[] files = f.listFiles();
    7. for (File file : files) {
    8. System.out.println(file);
    9. }
    10. }
    11. }

    注意点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中写具体的过滤规则

    1. import java.io.File;
    2. import java.io.FilenameFilter;
    3. import java.io.IOException;
    4. import java.util.Arrays;
    5. public class file {
    6. public static void main(String[] args) throws IOException {
    7. File f = new File("C:\\Users\\21566\\IdeaProjects\\untitled6");
    8. String[] str = f.list(new FilenameFilter() {
    9. @Override
    10. public boolean accept(File dir, String name) {
    11. return false;
    12. }
    13. });
    14. System.out.println(Arrays.toString(str));
    15. }
    16. }

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

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

  • 相关阅读:
    域渗透-横向移动命令总结
    RedisHttpSession反序列化UID问题跟踪
    函数式编程-Stream流(三更草堂)
    论文导读 | 大语言模型与知识图谱复杂逻辑推理
    1560分钟一节课VUE项目从入门到精通
    Linux 进程层次分析
    javascript_forEach踩坑
    Java本地高性能缓存实践
    数据的IO和复用
    软件测试工具常用的都有哪些
  • 原文地址:https://blog.csdn.net/NaZiMeKiY/article/details/137776510