Java进阶09文件

Java进阶09

一、File类

File类代表操作系统的文件对象(文件、文件夹)

1、File类创建对象

方法说明
public File(String pathname)根据文件路径创建文件对象
public Fie(String parent,String child)根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent,String child)根据父路径对应文件对象和子路径名字符串创建文件对象
  • File对象可以定位文件和文件夹

  • File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的

//1、根据传入的字符串路径,封装File对象
File f1 = new File("D:\\A.txt");
​
//2、根据传入的字符串(父级路径,子级路径) 封装File对象
File f2 = new File("D:\\","image");
​
//3、根据传入(父级路径文件对象,子级路径)封装File对象
File f3 = new File(new File("D:\\"),"stu.txt");

2、相对路径和绝对路径

  • 绝对路径:从盘符的根目录开始,一直到某个具体的文件(写全了)

  • 相对路径:相对于当前项目的路径进行操作

3、File类的常用方法

方法说明
public boolean isDirectory()判断此路径名表示的File是否为文件夹
public boolean isFile()判断此路径名表示的File是否为文件
public boolean exists()判断此路径名表示的File是否存在
public long length()返回文件的大小(字节数量)
public String getAbsolutePath()返回文件的绝对路径
public String getPath()返回定义文件时使用的路径
public String getName()返回文件的名称、带后缀
public long LastModifyied()返回文件你的最后修改时间(时间毫秒值)
public class FileMethodDemo1 {
    public static void main(String[] args) {
        File f1 = new File("dau09\\A.txt");
​
        //判断是否是文件夹
        System.out.println(f1.isDirectory());
​
        //判断是否是文件
        System.out.println(f1.isFile());
​
        //判断是否存在
        System.out.println(f1.exists());
        
         //获取文件大小(字节数量),如果是文件夹调用该方法会返回错误数据
        System.out.println(f1.length());
        //获取绝对路径   
        System.out.println(f1.getAbsolutePath());
        
         //获取文件名 | 文件夹名
        System.out.println(f1.getName());
        
        //获取文件最后一次修改时间
        long time = f1.lastModified();
        System.out.println(new Date(time));
    }
}

需要注意:length()这个方法,只能返回文件的大小,如果是文件夹调用,不会报错,但是返回的是错误数据!!!

4、File类的创建和删除方法

方法说明
public boolean createNewFile()创建一个新的空的文件
public boolean mkdir()只能创建一级文件夹
public boolean mkdirs()可以创建多级文件夹
方法说明
public boolean delete()删除由此抽象路径名表示的文件或空文件夹

注意:delete()方法只能删除空文件夹,且不走回收站

public class FileMethodDemo3 {
    public static void main(String[] args) throws IOException {
        //创建文件
        File f1 = new File("day09\\B.txt");
        System.out.println(f1.createNewFile());
​
        //创建文件夹
        File f2 = new File("day09\\aaa");
        System.out.println(f2.mkdirs());
​
        //删除文件
        System.out.println(f1.delete());
        //删除文件夹(注意:只能删除空文件夹)
        System.out.println(f2.delete());
    }
}

5、File类的遍历方法

方法说明
public File[] listFiles()获取当前目录下所有的“一级文件对象”,返回File数组
public class FileMethodDemo4 {
    public static void main(String[] args) {
        File dir = new File("D:\\");
        
        //获取当前文件夹下所有的文件和文件夹对象
        File[] files = dir.listFiles();
​
        //遍历数组
        for (File file : files) {
            System.out.println(file);
        }
    }
}
  • 当调用者File表示的路径不存在时,返回null

  • 当调用者File表示的路径是文件时,返回null

  • 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组

  • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值