栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java File类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java File类

文章目录

1.构造方法2.绝对路径和相对路径3.创建4.删除5.获取和判断6.listFiles()方法7.案例

File:它是文件和目录路径名的抽象表示。

文件和目录可以通过File封装成对象。

File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的。

1.构造方法

2.绝对路径和相对路径

绝对路径:

// 从盘符开始
File file = new File("G:\test\a.txt");

相对路径:

// 当前项目下的a.txt
File file2 = new File("a.txt");
// 当前项目下的指定模块下的a.txt
File file3 = new File("模块名\a.txt");
3.创建

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

如果文件存在,那么创建失败,返回false如果文件不存在,那么创建成功,返回truecreateNewFile方法不管调用者有没有后缀名,只能创建文件

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

只能创建单级文件夹,不能创建多级文件夹不管调用者有没有后缀名,只能创建单级文件夹

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

可以创建单级文件夹,也可以创建多级文件夹不管调用者有没有后缀名,只能创建文件夹mkdirs 能创建单级,也能创建多级,那么就不必使用 mkdir 了 4.删除

注意:

不放回收站,直接删除。如果删除的是文件,那么直接删除;如果删除的是文件夹,那么只能删除空文件夹。如果要删除一个有内容的文件夹,只能先进入到这个文件夹,把里面的内容全部删除完毕,才能再次删除这个文件夹。简单来说,只能删除文件和空文件夹。 5.获取和判断

public String getName() 返回由此抽象路径名表示的文件或目录的名称

如果调用者是文件,那么获取的是文件名和后缀名如果调用者是一个文件夹,那么获取的是文件夹的名字 6.listFiles()方法

7.案例

练习1:在当前模块下的ddd文件夹中创建一个data.txt文件。

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

public class Test1 {
    public static void main(String[] args) throws IOException {
        // createNewFile() 要求文件所在的文件夹必须存在

        File file = new File("filemodule\ddd");
        if (!file.exists()) {
            // 如果文件夹不存在,就创建出来
            file.mkdirs();
        }
        File newFile = new File(file,"data.txt");
        newFile.createNewFile();
    }
}

练习2:删除一个多级文件夹。

import java.io.File;

public class Test2 {
    public static void main(String[] args) {
        File src = new File("C:\Users\Dell\Desktop\filepro");
        deleteDir(src);
    }

    private static void deleteDir(File src) {
        // 1.进入 --- 得到src文件夹里面所有内容的File对象
        File[] files = src.listFiles();

        // 2.遍历 --- 因为想得到src文件夹里面每一个文件和文件夹的File对象
        for (File file : files) {
            if (file.isFile()) { // 3.判断 --- 如果遍历到的File对象是一个文件,那么直接删除
                file.delete();
            } else { // 4.判断 --- 递归
                deleteDir(file); // 参数一定要是src文件夹里面的文件夹File对象
            }
        }
        // 最后再删除这个文件夹
        src.delete();
    }
}

案例3:统计一个文件夹中,每种文件出现的次数。

import java.io.File;
import java.util.HashMap;

public class Test3 {
    public static void main(String[] args) {
        File file = new File("C:\Users\Dell\Desktop\filepro");
        HashMap hm = new HashMap<>();
        getCount(hm, file);
        System.out.println(hm);
    }

    private static void getCount(HashMap hm, File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.isFile()) {
                String fileName = f.getName();
                String[] fileNameArr = fileName.split("\.");
                if (fileNameArr.length == 2) {
                    String fileEndName = fileNameArr[1];
                    if (hm.containsKey(fileEndName)) {
                        Integer count = hm.get(fileEndName);
                        count++;
                        hm.put(fileEndName, count);
                    } else {
                        hm.put(fileEndName, 1);
                    }
                }
            } else {
                getCount(hm,f);
            }
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711522.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号