Java ——文件对象(File)的一些用法

创建文件对象

使用绝对路径和相对路径创建文件对象
在硬盘上,有文件和文件夹
在java中,统一用file这个类来代表文件和文件夹
· 使用绝对路或者相对路径创建File对象

import java.io.File;
public class TestFile {
    public static void main(String[] args) {
        // 绝对路径,完整的路径
        File f1= new File("D:/CloudMusic");
        System.out.println("f1的绝对路径:"+f1.getAbsolutePath());
        
        // 相对路径,相对于工作目录,在idea中,就是项目目录
        File f2 =new File("测试.txt");
        System.out.println("f2的绝对路径:" + f2.getAbsolutePath());

        // 把f1作为父目录创建文件对象
        File f3 = new File(f1, "测试.txt");
        System.out.println("f3的绝对路径:" + f3.getAbsolutePath());
    }
}

在这里插入图片描述

文件常用方法1:

判断文件是否存在;
判断是否是文件夹;
判断是否是文件;
获取文件的长度(默认单位为byte字节,与KB,MB,GB,TB之间的换算关系为1024倍,即1024byte=1KB);
获取文件最后的修改时间(此数字是系统时间长整数,从1970.1.1 08:00:00开始计时,每过一秒钟增加1);
文件的重命名;
**注意:**需要在D:\CloudMusic确实存在一个测试.txt文件,才可以看到对应的文件长度、修改时间等信息。

import java.io.File;
public class TestFile {
    public static void main(String[] args) {

        File file = new File("d:/CloudMusic/测试.txt");
        System.out.println("当前文件是:"+file);
        //文件是否存在
        System.out.println("判断是否存在:"+file.exists());
        //是否是文件夹
        System.out.println("是否是文件夹:"+file.isDirectory());
        //是否是文件(非文件夹)
        System.out.println("判断是否是文件:"+file.isFile());
        //文件长度
        System.out.println("获取文件的长度:"+file.length());
        //文件最后修改时间
        long t = file.lastModified();
        System.out.println("获取文件最后的修改时间:"+t);
        //设置文件修改时间为1970.1.1 08:00:00
        file.setLastModified(0);
        //文件重命名
        File f2 =new File("D:/CloudMusic/DOTA.exe");
        file.renameTo(f2);
        System.out.println("把测试.txt改名成了DOTA.exe");

        System.out.println("注意: 需要在D:\\CloudMusic确实存在一个测试.txt,\r\n才可以看到对应的文件长度、修改时间等信息");
    }
}
文件常用方法2:

file.list()
以字符串数组的形式,返回当前文件夹下的所有文件(返回的仅仅是文件名,不包含子文件及子文件夹);
file.listFiles()
以文件数组的形式,返回当前文件夹下的所有文件(返回的是目录下所有文件的完整路径,不包含子文件夹及子文件);
file.getParent()
以字符串的形式返回获取所在文件夹(类型为String);
file.getParentFile()
以文件的形式返回获取所在文件夹(类型为File);
file.mkdir()
创建文件夹,如果父文件夹不存在,创建就无效;
file.mkdirs()
创建文件夹,如果父文件夹不存在,就会创建父文件夹(创建一个完整的路径)
file.createNewFile()
创建一个空文件,如果父类文件夹不存在,就会抛出异常;

file.getParentFile().mkdirs();
所以在创建一个空文件之前,都会创建父目录,先获取父文件夹,然后再创建完整路径;
file.delete();
删除文件

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

public class TestFile {

    public static void main(String[] args) throws IOException {

        File f = new File("C:\\Users\\Administrator");

        // 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
        String[] list = f.list();
        for (String s : list) {
            System.out.println("文件名:"+s);
        }

        // 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
        File[]fs= f.listFiles();
        for (File file : fs) {
            System.out.println("文件数组:"+file);
        }
        // 以字符串形式返回获取所在文件夹
        System.out.println("所在文件夹(String形式)"+f.getParent());

        // 以文件形式返回获取所在文件夹
        System.out.println("所在文件夹(File形式)"+f.getParentFile());

        // 创建文件夹,如果父文件夹skin不存在,创建就无效
        f.mkdir();

        // 创建文件夹,如果父文件夹skin不存在,就会创建父文件夹
        f.mkdirs();

        // 创建一个空文件,如果父文件夹skin不存在,就会抛出异常
        f.createNewFile();
        // 所以创建一个空文件之前,通常都会创建父目录
        f.getParentFile().mkdirs();

        // 列出所有的盘符c: d: e: 等等
        f.listRoots();

        // 刪除文件
        f.delete();

        // JVM结束的时候,刪除文件,常用于临时文件的删除
        f.deleteOnExit();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34566673/article/details/106738680