Bootstrap

Java File类

一、java使用File类来表示计算机系统磁盘文件的对象类型。File中提供了大量的方法,可以对文件进行增加、删除、修改、重命名等常规操作。File类的对象会存储文件自身的信息,例如文件在系统中的存储目录、文件大小、文件读写权限等。

 

二、创建File文件

package Java_IO.EilePractice;

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

public class Demo01 {
    public static void main(String[] args) {
        try {
            File file1 = new File("D:\\x9504.txt");
            //创建一个新的普通文件文件
            boolean flag1=file1.createNewFile();
            System.out.println(flag1?"创建成功":"创建失败");
            //创建一个新的文件夹
            File file2 = new File("D:\\Lunk");
            boolean flag2=file2.mkdir();
            System.out.println(flag2?"文件夹创建成功":"文件夹创建失败");
            //创建多级文件
            File file3 = new File("D:\\wang\\css\\bgcolor");
            boolean flag3=file3.mkdirs();
            System.out.println(flag3?"多级文件创建成功":"多级文件创建失败");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
运行结果:
创建成功
文件夹创建成功
多级文件创建成功

查看D盘是否创建

 

 三、删除文件

package Java_IO.EilePractice;

import java.io.File;

public class Demo02 {
    public static void main(String[] args) {
        File file = new File("D:\\x9504.txt");
        boolean flag1=file.delete();
        System.out.println(flag1?"删除成功":"删除失败");
    }
}
运行结果:
删除成功

查看D盘已无文件

四、判断某个路径的文件是否存在

      我们之前创建过一个Lunk文件,预期代码输出结果是:“您的文件已经存在,无需创建”

package Java_IO.EilePractice;

import java.io.File;

/**
 * 判断某个路径的文件是否存在
 */
public class Demo03 {
    public static void main(String[] args) {
        File file1 = new File("D:\\Lunk");
        //判断某个路径的文件是否存在
        boolean flag1 = file1.exists();
        if (flag1) {//如果有则无需创建文件
            System.out.println("您的文件已存在,无需创建");
        }else{//如果没有则创建文件
            file1.mkdir();
        }
    }
}

查看与预期结果是否一致:

运行结果:
您的文件已存在,无需创建

五、获取文件大小

package Java_IO.EilePractice;

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

/**
 * 判断某个路径的文件是否存在
 */
public class Demo03 {
    public static void main(String[] args) {
        try {
            File file1 = new File("D:\\Lunk");
            //判断某个路径的文件是否存在
            boolean flag1 = file1.exists();
            if (flag1) {//如果有则无需创建文件
                System.out.println("您的文件已存在,无需创建");
            }else{//如果没有则创建文件
                file1.mkdir();
            }
            //获取文件大小
            File file2 = new File("D:\\祖国.txt");
            file2.createNewFile();
            Long size = file2.length();
            System.out.println("size="+size);
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

我的D盘中没有“祖国.txt”,新创建的size应该为0

运行结果:
您的文件已存在,无需创建
size=0

我们在D盘中“祖国.txt”中添加“中华人民共和国”,看长度为多少,输出预期结果应为:size=21

 添加后输出结果为:

 六、获取文件名及文件的路径

package Java_IO.EilePractice;

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

/**
 * 判断某个路径的文件是否存在
 */
public class Demo03 {
    public static void main(String[] args) {
        try {
            File file1 = new File("D:\\Lunk");
            //判断某个路径的文件是否存在
            boolean flag1 = file1.exists();
            if (flag1) {//如果有则无需创建文件
                System.out.println("您的文件已存在,无需创建");
            }else{//如果没有则创建文件
                file1.mkdir();
            }
            //获取文件大小
            File file2 = new File("D:\\祖国.txt");
            file2.createNewFile();
            Long size = file2.length();
            System.out.println("size="+size);

            //获取文件名
            String fileName = file2.getName();
            System.out.println("fileName="+fileName);
            //获取文件路径
            String path = file2.getPath();
            System.out.println("Path="+path);
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

输出结果:

 七、判断文件是否是文件夹及查看D盘中的所有文件

package Java_IO.EilePractice;

import java.io.File;

public class Demo04 {
    private static Demo04 FileDemo4;

    public static void showFile(String pathname){
        File f1 = new File(pathname);
        //判断文件是否为文件夹
        boolean flag1 = f1.isDirectory();
        //选择某个文件夹下的所有文件
        if(flag1) {
            File[] files = f1.listFiles();
            for(int i = 0;files!=null&&i<files.length;i++){
                boolean flag2 = files[i].isDirectory();
                if(flag2){
                    showFile(files[i].getPath());
                }else{
                    //获取此文件目录
                    String filePath = f1.getPath();
                    System.out.println("普通文件=============="+filePath);
                }
            }
        }
    }

    public static void main(String[] args) {
        FileDemo4.showFile("D:\\");
    }

}

运行结果:

;