java File类

package com.company01.File;
/*
    java.lang.Object;
        java.io.File;

        1.File类和流无关,不能通过该类完成文件的读和写
        2.File是文件和目录路径名的抽象表示形式

    File代表的是硬盘上的Directory和file
*/
import java.io.*;
public class Test01 {
    public static void main(String[] args) throws Exception{

        File f1 = new File("test01.txt");

        File f2 = new File("E:\\mydemo\\Java\\IDEA");

        File f3 = new File("E:/mydemo");

        System.out.println(f1.exists());  // true
        System.out.println(f2.exists());  // true
        System.out.println(f3.exists());  // true

        File f4 = new File("E:/TT");
        System.out.println(f4.exists());  // false

        // 如果不存在,则创建
        if(!f4.exists()){
            // 创建目录
            //f4.mkdir();

            // 创建文件
            f4.createNewFile();
        }

        File f5 = new File("E:/A/B/C/D/E");
        if(!f5.exists()){
            // 创建多重目录
            f5.mkdirs();
        }
    }
}

package com.company01.File;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test02 {
    public static void main(String[] args) throws Exception{

        // 1.获取绝对路径
        File f1 = new File("test01.txt");
        String absolutePath = f1.getAbsolutePath();
        System.out.println(absolutePath);  // E:\mydemo\Java\IDEA\test\test01.txt

        // 2.获取文件名
        System.out.println(f1.getName());  // test01.txt

        // 3.获取父路径
        System.out.println(f1.getParentFile()); // null
        System.out.println(f1.getAbsoluteFile().getParentFile());  // E:\mydemo\Java\IDEA\test

        // 4.判断是File还是Directory还是File
        System.out.println(f1.isDirectory());  // false
        System.out.println(f1.isFile());   // true

        // 5.获取文件最后一次修改时间
        long t = f1.lastModified();
        Date date = new Date(t);
        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:MM:ss SS").format(date));
        //2019-12-09 09:12:49 134

        // 6.获取文件长度(字节数)
        System.out.println(f1.length());

        // 7.列出子文件
        File f2 = new File("E:\\mydemo\\Java\\IDEA");
        File[] fs = f2.listFiles();

        // 遍历
        for(File f:fs){
            System.out.println(f.getAbsolutePath());
            /*
            E:\mydemo\Java\IDEA\Project01
            E:\mydemo\Java\IDEA\Project02
            E:\mydemo\Java\IDEA\Project04
            E:\mydemo\Java\IDEA\test
            */
        }
    }
}

package com.company01.File;
/*
    使用递归,找出某目录下的所有子目录以及子文件。
*/
import java.io.*;

public class Test03 {
    public static void main(String[] args) {

        File f = new File("E:\\mydemo\\Java\\IDEA\\test");

        method1(f);
    }

    public static void method1(File f){
        if(f.isFile()){
            return ;
        }

        // f有两种可能,f可能是文件,也可能是目录
        // 先当做目录
        File[] fs = f.listFiles();

        for(File subF : fs){
            System.out.println(subF.getAbsolutePath());
            method1(subF);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值