Java File文件操作类

1、 各级文件目录的分隔符和系统有关,应用File.separator
2、通过构造方法创建一个对象

  • File(String pathname)
  • File(String parent,String child)
  • File(File parent,String child)
  • File类的实例是不可变的,在创建File对象时必须指定路径

3、目录操作

  • public File[] listFiles() 返回目录中的文件和目录的File对象数组
  • public String [] list() 返回目录中的文件和目录的字符串对象数组
  • public File getParentFile() 返回其父目录对象
  • public String getParent() 返回其父目录路径名字字符串
  • File[] roots=File.listRoots()获取所有根目录(即磁盘分区)
public class FileTest {

    private static File file;

    //1、判断文件存在与否,存在删除不存在创建
    public static void code1() throws IOException {
        //separator 用来决定路径分隔符"/"
        File file1 = new File("F:" + File.separator + "Test1");
        if (file1.exists()) {
            file1.delete();
        } else {
            file1.createNewFile();
        }
    }

    //2、目录的操作,Test1和Test是创建的目录,Ts是目录下的文件
    //取得父路径public String getParent()
    //取得父File对象 public File getParentFile():
    //创造父类的目录 public boolean mkdirs()
    public static void code2() throws IOException {

        //有多少级父目录就创造多少级,separator由不同操作系统下的JVM来决定到底是哪个杠杠
        File file = new File("F:" + File.separator + "Java" + File.separator + "Test1"
                + File.separator + "Test2" + File.separator + "Ts");
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdirs();
        }
        if (file.exists()) {
            file.delete();
        } else {
            file.createNewFile();
        }
    }

    //3、打印文件的信息
    public static void code3() throws IOException {
        File file = new File("F:" + File.separator + "Java" + File.separator + "Test1"
                + File.separator + "Test2" + File.separator + "Tss");
        if (!file.exists()) {
        // 创建文件
            file.createNewFile();
        }
        if (file.exists() && file.isFile()) {
            System.out.println("文件大小" + file.length());
            System.out.println("文件名字" + file.getName());
            System.out.println("最后一次修改日期:" + new Date(file.lastModified()));
        }
    }

    //4、列出该目录下中的全部内容
    public static void code4() throws IOException {
        //写入一个目录
        File file = new File("F:" + File.separator + "Java" + File.separator + "Test1");
        //保证是个目录且存在
        if (file.exists() && file.isDirectory()) {
            //列出目录的全部内容,只能够列出本目录中的第一级信息。
            File[] file1 = file.listFiles();
            for (File file2 : file1) {
                System.out.println(file2);
            }
        }
    }

    //5、递归遍历打印目录底下的所有文件
    public static void code5(File file) {
        if (file.isDirectory()) {
            File[] file1 = file.listFiles();//给定的file对象是目录
            if (file1 != null) {
                for (File file2 : file1) {
                    code5(file2);
                }
            }
        } else {
            System.out.println(file);
        }
    }

    public static void main(String[] args) throws IOException {
//        code1();
//        code2();
//        code3();
//        code4();
//        //1.
//        File file = new File("F:" + File.separator + "Java" + File.separator + File.separator + "Test1");
//        code5(file);
       // 2.开启子线程进行耗时运算
        new Thread(() -> {
            File file = new File("F:" + File.separator + "Java" + File.separator + "Test1");
            code5(file);
        }, "输出线程").start();
        System.out.println("开始");
    }

}

1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
2、File类的mkdir方法根据抽象路径创建目录
3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录 ,多级目录
4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败
return file.getCanonicalPath();//标准路径
return file.getAbsolutePath();//绝对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值