从零学Java File

Java File

文章目录

  • Java File
    • 常用方法
      • File 表示文件时
      • File 表示目录时
    • 常用案例
      • 1 递归显示文件夹和文件
      • 2 递归删除

概念:代表物理盘符中的一个文件或者文件夹。

常用方法:

createNewFile()//创建一个新文件
mkdirs()//创建一个新目录
delete()//删除文件或空目录 
exists()//判断File对象所对象所代表的对象是否存在
getAbsolutePath()//获取文件的绝对路径
getName()//取得名字 
getParent()//获取文件/目录所在的目录
isDirectory()//是否是目录
isFile()//是否是文件
length()//获得文件的长度
listFiles()//列出目录中的所有内容
renameTo()//修改文件名

eg:

常用方法

File 表示文件时

/**
    File: 表示文件
    1 创建
    2 删除
    3 获取
    4 判断
    5 重命名
     */
public static void fileOpe() throws IOException {
    //File对象: 表示磁盘中的一个文件
    File file = new File("e:\\javaee2308.txt");
    System.out.println(file);
    //1 创建
    if (!file.exists()) {
        System.out.println("创建结果:"+file.createNewFile());
    } else {
        System.out.println("文件已存在...");
    }
    //2 删除
    //        System.out.println("删除结果"+file.delete());
    //3 获取
    System.out.println("文件名:"+file.getName());
    System.out.println("文件路径:"+file.getPath());
    System.out.println("文件绝对路径:"+file.getAbsolutePath());
    System.out.println("文件大小:"+file.length());
    System.out.println("文件最后一次的修改时间:"+new Date(file.lastModified()));
    //4 判断
    System.out.println("判断是否存在:"+file.exists());
    System.out.println("判断是否是文件:"+file.isFile());
    System.out.println("判断是否隐藏:"+file.isHidden());
    System.out.println("判断是否可写:"+file.canWrite());
    //5 重命名(具有剪切功能)
    System.out.println("重命名结果:"+file.renameTo(new File("e:\\QianFeng\\aaa.txt")));
}

File 表示目录时

/**
    File: 表示目录
    1 创建
    2 删除
    3 获取
    4 判断
    5 重命名
    6 获取目录中的文件和子目录
     */
public static void dirOpe() {
    //创建File对象
    File dir = new File("e:\\aaa\\bbb\\ccc");
    System.out.println(dir);
    //1 创建
    //dir.mkdir(); //单级目录
    //多级目录
    if (dir.exists()) {
        System.out.println("创建结果:" + dir.mkdirs());
    } else {
        System.out.println("已存在");
    }
    //2 删除
    //        System.out.println(dir.delete());
    //3 获取
    System.out.println("目录名:"+dir.getName());
    System.out.println("获取路径:"+dir.getPath());
    System.out.println("获取绝对路径:"+dir.getAbsolutePath());
    //4 判断
    System.out.println("判断是否存在:"+dir.exists());
    System.out.println("判断是否是目录:"+dir.isDirectory());
    System.out.println("判断是否隐藏:"+dir.isHidden());
    //5 重命名
    System.out.println("重命名结果:"+dir.renameTo(new File("e\\aaa\\bbb\\xxx")));
    //6 获取目录中的子目录和文件
    File dir2 = new File("D:\\Users\\胡昊龙\\Pictures\\美图");
    File[] files = dir2.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.endsWith(".png");
        }
    });
    if (files != null) {
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}

常用案例

1 递归显示文件夹和文件

代码演示:

package StageOne.day21.demoIO;

import java.io.File;

/**
 * @author 胡昊龙
 * @version 1.0
 * @description: TODO
 * @date 2024/1/16 17:09
 */
public class TestFile2 {
    public static void main(String[] args) {
        listDir(new File("D:\\Users\\胡昊龙\\Pictures"),0);
    }
	//案例1:递归显示文件夹
    public static void listDir(File dir, int level) {
        File[] files = dir.listFiles();
        System.out.println(getSep(level)+dir.getName());
        level++;
        if (files != null) {
            for (File file : files) {
                if (file.isDirectory()) {
                    listDir(file,level);
                } else {
                    System.out.println(getSep(level)+file.getName());
                }
            }
        }
    }
	//目录分级显示
    public static String getSep(int level) {
        StringBuilder builder = new StringBuilder("|");
        for (int i = 0; i < level; i++) {
            builder.append("__");
        }
        return builder.toString();
    }
}

2 递归删除

代码演示:

//案例2:递归删除目录
public static void listDelete(File dir){
    File[] files = dir.listFiles();
    if (files != null) {
        for (File file : files) {
            if(file.isDirectory()){
                listDelete(file);
            }else{
                System.out.println(file+"..."+file.delete());//删除文件
            }
        }
    }
    System.out.println(dir+"..."+dir.delete());//删除目录
}

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