关于File类中常用方法的使用

关于File类中常用方法的使用:

1、FIle类直接继承于Object,和四大流家族没有关系,所以File类不能完成文件的读和写。


2、File对象是什么?

是文件和目录路径名的抽象表示形式。

一个File对象有可能对应的是目录,也可能对应的是文件。


3、File类中常用的方法:

测试代码:

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

public class Test01 {
    public static void main(String[] args) {
        // 实例File对象,参数为路径名
        //File file = new File("F:\\fileTest");

        // 判断路径名是否存在
        //boolean b = file.exists();
        //System.out.println(b);  // false

        // 如果路径名不存在,则以文件的形式创建
        /*if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }*/

        // 如果路径不存在,则以目录的方式创建
        /*if (!file.exists()) {
            file.mkdirs();
        }*/

        // 也可以创建多重目录
        /*File file1 = new File("F:\\a\\b\\c\\d");
        if (!file1.exists()) {
            file1.mkdirs();
        }*/

        // 我们指定本工程下的IOtest\file,这是一个确实存在的,相对路径
        File file2 = new File("IOtest\\file");

        // 获取文件名,就是结尾的那个文件名
        String fileName = file2.getName();
        System.out.println(fileName);  // file

        // 获取文件路径,就是实例化对象时,填进去的那个路径名
        String filePath = file2.getPath();
        System.out.println(filePath);  // IOtest\file

        // 判断是否是一个目录
        System.out.println(file2.isDirectory());  // true

        // 判断是否是一个文件
        System.out.println(file2.isFile());  // false

        // 判断是否是一个绝对路径
        System.out.println(file2.isAbsolute());  // false

        // 获取file2的父路径,返回String类型
        String parentPath = file2.getParent();
        System.out.println(parentPath);  // IOtest

        // 获取父路径,返回File类型
        File parentFile = file2.getParentFile();
        // File类重写了toString()方法
        System.out.println(parentPath);  // IOtest

        // 获取绝对路径,返回String类型
        String absolutePath = file2.getAbsolutePath();
        System.out.println(absolutePath);  // F:\JavaCode\JavaSE\IOtest\file

        // 获取绝对路径,返回File类型
        File absoluteFile = file2.getAbsoluteFile();
        System.out.println(absoluteFile);  // F:\JavaCode\JavaSE\IOtest\file

        // 获取最后的修改时间,返回long类型,是1970午夜整 到 最后修改的总毫秒数
        long ms = file2.lastModified();
        System.out.println(ms);  // 1595395623081
        // 我们应该把总毫秒数化成时间Date类型
        Date lastModifiedTime = new Date(ms);
        System.out.println(lastModifiedTime);  // Wed Jul 22 13:27:03 CST 2020
        // 当然你也可以用SimpleDateFormat进一步格式化时间对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        System.out.println(sdf.format(lastModifiedTime));  // 2020-07-22 13:27:03 081

        // 当然你也可以重新设置最后修改的时间,需指定毫秒数
        //file2.setLastModified(ms);  // 只是这个时间你必须算出来是多少毫秒

        // 获取File的大小,返回long型总字节数。注意:如果File是目录,返回0,如果是文件,返回字节数
        long len = file2.length();
        System.out.println(len);  // 0

        // 获取所有的子类File
        File[] files = file2.listFiles();
        for (File f : files) {
            // 打印名字和大小
            System.out.print(f.getName() + "-" + f.length() + "   ");  // test01-0   test02.txt-14   test03.txt-14
        }
        System.out.println();

        // 重命名,参数是File类型对象
        //File reFile = new File("IOtest\\file01");
        //file2.renameTo(reFile);

        // 删除该文件或目录
        //file2.delete();

    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值