File类操作

1. 练习一

在当前模块下的 text 文件夹中创建一个 io.txt 文件

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

public class Practice1 {
    public static void main(String[] args) {
        File file = new File("D:\\kaifamiao");
        File file1 = new File(file, "text\\ebook\\IO");
        File text = new File(file1, "io.txt");
        // 判断文件夹是否存在,如果不存在则建立
        if (!file1.exists()) {
            boolean mkdir = file1.mkdirs();
            System.out.println(mkdir);  // true
        }
        try {
            text.createNewFile();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

2. 练习二

删除一个多级文件夹

import java.io.File;

public class DeleteMultFilesPractice2 {
    public static void main(String[] args) {
        File file = new File("D:\\kaifamiao\\text");
        delete(file);
    }

    public static void delete(File file) {
        if (file.exists()) {
            File[] files = file.listFiles();
            if (files != null && files.length != 0) {
                for (File f : files) {
                    if (f.isDirectory()) {
                        delete(f);
                    } else {
                        f.delete();
                    }
                }
            }
            file.delete();
            System.out.println("目录已删除:" + file.getAbsolutePath());
        } else {
            System.out.println("目录不存在:" + file.getAbsolutePath());
        }
    }
}

3. 练习三

统计一个文件夹中每种文件的个数并打印(不考虑目录)

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

public class StatisticalFiles3 {
    public static void main(String[] args) {
        File file = new File("D:\\桌面\\我爱学习");
        String[] files = file.list();
        HashMap<String,Integer> hashMap = new HashMap<>();
        assert files != null;
        for (String s : files) {
            if (s.contains(".")) {
                int lastDotIndex = s.lastIndexOf(".");
                String extension = s.substring(lastDotIndex + 1);
                hashMap.put(extension,hashMap.getOrDefault(extension, 0) + 1);
            } else {
                hashMap.put("文件",hashMap.getOrDefault("文件", 0) + 1);
            }
        }
        System.out.println(hashMap);
    }
}

4. 练习四

计算出磁盘上指定文件夹的实际大小

import java.io.File;

public class StatisticalFileSize4 {
    public static void main(String[] args) {
        long l = fileSize(new File("D:\\桌面\\我爱学习\\网页练习\\建党95"));
        System.out.println(l);
    }

    /**
     * 计算出磁盘上指定文件夹的实际大小
     * @param file
     */
    public static long fileSize (File file) {
        File[] files = file.listFiles();
        long count = 0;
        if (files != null && files.length != 0) {
            for (File f : files) {
                if (f.isDirectory()) {
                    count += fileSize(f);
                } else {
                    System.out.println(f.toString()+ f.length());
                    count += f.length();
                }
            }
        }
        return count;
    }
}

你可能感兴趣的:(Java,java,python,开发语言)