您当前的位置: 首页 >  Java

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java温故而知新-File类

ITKEY_ 发布时间:2021-02-02 22:01:44 ,浏览量:0

文章目录
  • File类
    • 文件的创建与删除
  • 文件的目录操作
    • 创建多级目录
    • 静态代码块优化性能
  • 获取文件信息
    • 获取文件的大小与创建时间
    • 获取文件信息
  • 获取目录信息
    • list与listFiles()
    • 面试题: 列出目录下所有 txt文件
    • 列出整个磁盘下的txt文件
  • 文件重命名
    • 日志文件以日期的名称创建
    • 文件批量重命名

File类

在这里插入图片描述

文件的创建与删除
import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("h:\\yootk.txt") ; // 定义要操作的文件路径
        if (file.exists()) {    // 文件路径存在
            System.out.println("【文件存在】执行删除操作:" + file.delete()); ; // 删除给定的文件
        } else {
            System.out.println("【文件不存在】执行创建操作:" + file.createNewFile()); ;// 创建文件
        }
    }
}

在这里插入图片描述 在这里插入图片描述

import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("h:" + File.separator + "yootk.txt"); // 定义要操作的文件路径
        System.out.println(file);
        if (file.exists()) {    // 文件路径存在
            System.out.println("【文件存在】执行删除操作:" + file.delete()); ; // 删除给定的文件
        } else {
            System.out.println("【文件不存在】执行创建操作:" + file.createNewFile()); ;// 创建文件
        }
    }
}
文件的目录操作

在这里插入图片描述

创建多级目录
import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("h:" + File.separator + "muyan" + File.separator + "vip" + File.separator + "yootk.txt"); // 定义要操作的文件路径
        System.out.println("【文件路径】" + file);
        if (!file.getParentFile().exists()) {   // 父路径不存在
            file.getParentFile().mkdirs() ; // 创建父目录
        }
        if (file.exists()) {    // 文件路径存在
            System.out.println("【文件存在】执行删除操作:" + file.delete()); ; // 删除给定的文件
        } else {
            System.out.println("【文件不存在】执行创建操作:" + file.createNewFile()); ;// 创建文件
        }
    }
}

当前的程序流程:

在这里插入图片描述 在这里插入图片描述

静态代码块优化性能

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

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    private static File parentFile = new File("h:" + File.separator + "muyan" + File.separator + "vip" + File.separator); // 定义要操作的文件路径
    static {    // 静态代码块优先于主方法执行
        if (!parentFile.getParentFile().exists()) {   // 父路径不存在
            parentFile.getParentFile().mkdirs() ; // 创建父目录
        }
    }
    public static void main(String[] args) throws Exception {
        for (int x = 0 ; x {
                File file = new File("h:" + File.separator + "muyan" + File.separator + "vip" + File.separator + Thread.currentThread().getName());// 创建文件
                if (file.exists()) {    // 文件路径存在
                    System.out.println("【文件存在】执行删除操作:" + file.delete()); ; // 删除给定的文件
                } else {
                    try {
                        System.out.println("【文件不存在】执行创建操作:" + file.createNewFile());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }, "MuYan-VIP-" + x).start();
        }
    }
}

在这里插入图片描述

获取文件信息

在这里插入图片描述

在这里插入图片描述

获取文件的大小与创建时间
import java.io.File;
import java.text.SimpleDateFormat;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("H:" + File.separator + "yootk.png") ; // 文件
        if (file.exists()) {    // 获取信息的前提是文件存在
            System.out.printf("【文件大小】字节:%s、兆:%5.2f\n", file.length(), ((double) file.length() / 1024 / 1024));
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
            System.out.printf("【最后一次修改日期】日期时间数值:%s、日期时间:%s\n", file.lastModified(), sdf.format(new java.util.Date(file.lastModified())));
        }
    }
}
获取文件信息
import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("H:" + File.separator + "yootk.png") ; // 文件
        if (file.exists()) {    // 获取信息的前提是文件存在
            System.out.printf("【文件权限】可读:%s、可写:%s、可执行:%s\n", file.canRead(), file.canWrite(), file.canExecute());
            System.out.printf("【文件绝对路径】%s\n", file.getAbsoluteFile());
            System.out.printf("【文件目录】%s\n", file.getParent());
            System.out.printf("【文件名称】%s\n", file.getName());
            System.out.printf("【路径类型】文件夹:%s、文件:%s", file.isDirectory(), file.isFile());
        }
    }
}
获取目录信息

在这里插入图片描述

list与listFiles()
import java.io.File;
import java.util.Arrays;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("H:" + File.separator + "muyan" + File.separator) ; // 文件
        if (file.exists() && file.isDirectory()) {    // 如果路径存在且是一个目录
            System.out.println("【list()方法执行结果】" + Arrays.toString(file.list()));
            System.out.println("【listFiles()方法执行结果】" + Arrays.toString(file.listFiles()));
        }
    }
}

在这里插入图片描述

面试题: 列出目录下所有 txt文件

import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("H:" + File.separator + "muyan" + File.separator) ; // 文件
        info (file) ; // 设置要列表的目录路径
    }
    public static void info(File file) {
        if (file.isDirectory()) {   // 当前的路径是一个目录
            File list[] = file.listFiles((f) -> f.isDirectory() ? true : f.getName().endsWith(".txt")); // 列出目录中的全部组成
            for (File temp : list) {
                info(temp) ; // 递归操作,继续列出
            }
        } else {
            System.out.println(file); // 直接输出文件信息
        }
    }
}
列出整个磁盘下的txt文件

import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File file = new File("H:" + File.separator) ; // 文件
        info (file) ; // 设置要列表的目录路径
    }
    public static void info(File file) {
        if (file.isDirectory()) {   // 当前的路径是一个目录
            File list[] = file.listFiles((f) -> f.isDirectory() ? true : f.getName().endsWith(".txt")); // 列出目录中的全部组成
            if (list != null) { // 存在文件列表
                for (File temp : list) {
                    info(temp); // 递归操作,继续列出
                }
            }
        } else {
            System.out.println(file); // 直接输出文件信息
        }
    }
}
文件重命名
import java.io.File;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    public static void main(String[] args) throws Exception {
        File oldFile = new File("H:" + File.separator + "yootk.png") ; // 原始文件
        File newFile = new File("D:" + File.separator + "muyan.png") ; // 原始文件
        System.out.println("【文件更名处经理】" + oldFile.renameTo(newFile));
    }
}
日志文件以日期的名称创建
import java.io.File;
import java.text.SimpleDateFormat;

public class YootkDemo {    // 李兴华编程训练营:yootk.ke.qq.com
    private static File dir = new File("h:" + File.separator + "muyan" + File.separator + "logs" + File.separator) ;
    static {
        if (!dir.exists()) { // 判断目录是否存在
            dir.mkdirs() ; // 创建目录
        }
    }
    public static void main(String[] args) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd") ; // 日期格式化
        for (int x = 0 ; x             
关注
打赏
1665243900
查看更多评论
0.0524s