欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

File类的一些常用用法

程序员文章站 2024-01-22 19:57:10
...
package file;

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

public class FileTest {

    //创建多个文件和目录
    public static void createFileAndDir(String path) throws IOException {
        File dirFile = new File(path);
        //创建多个目录
        dirFile.mkdirs();
        //开始在这个目录下面创建多个文件
        File file1 = new File(dirFile,"1.txt");
        File file2 = new File(dirFile,"2.txt");
        file1.createNewFile();
        file2.createNewFile();
    }
    //删除指定文件的方法
    public static void delFile(String path) {
        File file = new File(path);
        //判断文件存在就删除
        if (file.exists()) {
            file.delete();
        }
    }

    //判断目录下是否存在一个.jpg的文件如果有输出文件名
    public static void printJpgName(String path) {
        File file = new File(path);
        String[] list = file.list();
        for (String s : list) {
            if (s.endsWith(".jpg")) {
                System.out.println(s);
            }
        }
    }

    //输出指定目录下面的所有的文件名
    public static void printFileName(String path) {
        File pathFile = new File(path);
        File[] files = pathFile.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                printFileName(path+ "\\"+file.getName());
            } else {
                System.out.println(file.getName());
            }
        }
    }

    //算出目录下磁盘占用的空间
    public static Long getAllArea(String path) {

        File pathFile = new File(path);
        File[] files = pathFile.listFiles();
        Long l=0L;
        for (File file : files) {

            if (file.isDirectory()) {
                l = l + getAllArea(path + "\\" + file.getName());

            } else {
                long getLength = file.length();

                l= l + getLength;
            }
        }
        return l;
    }

    //删除指定目录下面的所有的目录和文件
    public static void delAllFile(String path) {
        File pathFile = new File(path);
        File[] files = pathFile.listFiles();
        for (File file : files) {
            if(file.isDirectory()) {
                delAllFile(path + "\\"+ file.getName());
                file.delete();
            } else{
                file.delete();
            }
        }
    }

    public static void main(String[] args) throws IOException {
        //创建多个文件和目录
        //createFileAndDir("D:\\io\\test");
        //删除指定的文件
       // delFile("D:\\io\\test\\1.txt");
        //printJpgName("D:\\io\\test");
        //printFileName("D:\\io");
        System.out.println(getAllArea("D:\\io"));
    }

}

相关标签: java