Java:File文件操作(创建,修改,打印,删除等)

import java.io.File;
import java.io.IOException;
import java.util.Date;

 //创建文件(路径以及文件的建立)
 //File文件路径的两种获取方式
 //File 文件路径1 = new File("文件磁盘"+File.separator+"文件路径");
 //File 文件路径2 = Paths.get("文件磁盘","文件路径").toFile();
public static void code1() {
    //创建一个文件。定义需要操作的文件路径
    //eg:创建一个G:\javaTest\java.txt
    File file = new File("G" + File.separator + "javaTest" + File.separator + "java.txt");

    //首先得进行路径的判断,如果路径存在就直接判断文件是否存在
    //如果路径不存在,这个时候就可以调用mkdirs函数进行创建路径
    if (!file.getParentFile().exists()) {
        file.getParentFile().mkdirs();
    }
    //判断这个文件是否存在。如果该文件存在,进行删除。
    //如果不存在,则创建
    if (file.exists()) {
        file.delete();
    } else {
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
//查看文件信息(文件的大小。文件最后一次修改日期。判断是目录还是文件)
public static void code2() {
    //以G:\javase\numtest 这个已经存在的文件来说
    File file = new File("G:" + File.separator + "javase" + File.separator + "numtest.txt");
    //首先我们要确定文件存在,并且是一个文件而不是一个路径,我们才能进行操作
    if (file.exists() && file.isFile()) {
        System.out.println("文件大小:" + file.length());
        System.out.println("最后一次修改日期:" + new Date(file.lastModified()));
        System.out.println("这是一个文件:" + file.isFile());
        System.out.println("这是一个目录:" + file.isDirectory());
    } else {
        System.out.println("文件不存在");
    }
}
//查看当前路径下的所有文件和目录
public static void code3() {
    //以路径G:\javase路径为例
    File file = new File("G:" + File.separator + "javase");
    //首先判断路径目录是否存在,并且输出目录下的所有东西
    if (file.exists() && file.isDirectory()) {
        //创建一个文件数组,将目录中的名字都保存进去。再遍历输出
        File[] result = file.listFiles();
        //遍历方法一
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }
        //遍历方法二
        for (File file1 : result) {
            System.out.println(file1);
        }
    }
}
//查看当前路径下所有文件和目录的子目录以及文件。(递归操作)
public static void listAllFiles(File file) {
    //首先判断这是不是一个目录。如果是则继续遍历该目录。如果不是,那它就是一个文件,直接打印
    if (file.isDirectory()) {
        File[] result = file.listFiles();//将子目录内容保存在文件数组中
        if (result != null) {
            for (File file1 : result) {
                listAllFiles(file1); //递归。一直进入这个路径。直到这个路径是个文件
            }
        }
    } else {
        System.out.println("文件名的绝对路径是:" + file);

    }
}
public static void main(String[] args) {

    code1();
    code2();
    code3();
    
    //用G:\javase该路径说明
    File file1= new File("G:" + File.separator + "javase2");
    listAllFiles(file1);

    //用子线程进行列出处理,可以避免线程堵塞问题
    new Thread(()->{
        File file = new File("G:" + File.separator + "javase");
        listAllFiles(file);
    },"输出线程").start();
    System.out.println("开始进行文件输出");
}

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值