Java-File类

File类是Java内置的一个类,专门处理电脑磁盘上面的文件和文件夹的一个类

文件路径问题:

​        相对路径:

​                得有一个参照物

​                我在子豪的前面做,参照物是子豪

​                ./代表的是当前的工作目录

​                ../上一级目录

​                ../../上两级目录

​                ../../../上三级目录

​        绝对路径:

​                从磁盘的跟目录一直到文件的所在位置

​                C:\aaa\3.txt

  • File构造方法

        File(String pathname)

通过将给定的路径名字符串转换为抽象路径名来创建新的 `File`实例。

```
File(String parent, String child)
```

从父抽象路径名和子路径名字符串创建新的 File实例

static String``separator`与系统相关的默认名称 - 分隔符字符

package com.qf.c_file;

import java.io.File;


public class Demo1 {
    public static void main(String[] args) {
        //将文件和文件夹路径抽象成了一个对象
        File file = new File("c:/aaa/3.txt");
        System.out.println(file);//c:\aaa\3.txt


        File file1 = new File("c:/aaa", "3.txt");
        System.out.println(file1);

        System.out.println(File.separator);//\
        File file2 = new File("c:\\aaa\\3.txt");
        //得到一个结论: z在windows系统下面 /  和\都是可以的
        //但是在linux系统下面  只能/   才可以
        //	separator
        //与系统相关的默认名称 - 分隔符字符
        File file3 = new File("c:" + File.separator + "aaa" + File.separator + "3.txt");
        System.out.println(file3);




    }
}

File类下面的方法

  • boolean createNewFile();    新建一个文件

    ​            1.如果文件路径不存在,  系统找不到指定的路径

    ​            2.如果文件已经存在  返回一个false    

    ​            3.磁盘坏了   

    boolean  mkdir();  创建单级的目录

    boolean mkdirs();创建多级的目录

package com.qf.c_file;

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


public class Demo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("c:/aaa/sb.txt");
        System.out.println(file.createNewFile());


        File file1 = new File("c:/aaa/bbb");
        System.out.println(file1.mkdir());//创建单级目录

        File file2 = new File("c:/aaa/ccc/ddd");
        System.out.println(file2.mkdirs());
    }
}

删除文件或者文件夹

boolean  delete();

package com.qf.c_file;

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


public class Demo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("c:/aaa/sb.txt");
        System.out.println(file.createNewFile());


        File file1 = new File("c:/aaa/bbb");
        System.out.println(file1.mkdir());//创建单级目录

        File file2 = new File("c:/aaa/ccc/ddd");
        System.out.println(file2.mkdirs());
        System.out.println(file1.delete());

        System.out.println(file.delete());

        File file3 = new File("c:/aaa/ccc");
        System.out.println(file3.delete());//因为ccc下面还有文件夹或者文件
        //delete只能删除空的文件夹或者文件
    }
}

File类下面判断的方法

boolean isFile();是否是文件

boolean isDirectory(); 是否是文件夹

boolean isHidden(); 是否是隐藏文件

boolean isAbsolute(); 是否是绝对路径

boolean exist(); 文件或者文件夹是否存在

package com.qf.c_file;

import java.io.File;


public class Demo3 {
    public static void main(String[] args) {
        File file = new File("c:/aaa/1.txt");
        System.out.println(file.isFile());
        File file1 = new File("c:/aaa/ccc");
        System.out.println(file1.isFile());//false

        System.out.println(file.isDirectory());//false
        System.out.println(file1.isDirectory());//true
        System.out.println(file.isHidden());//true

        File file2 = new File("../");
        System.out.println(file2);
        System.out.println(file2.isAbsolute());//false
        System.out.println(file.isAbsolute());//true
        System.out.println(file.exists());//判断一个文件是否文件
        System.out.println(file1.exists());

    }
}

获取方法 返回值的是字符串的方法

String getName();获取文件或者文件夹的名字的

STring getParent();获取上一级目录

String getPath();获取file对象的绝对路径

package com.qf.c_file;

import java.io.File;


public class Demo4 {
    public static void main(String[] args) {
        File file = new File("c:/aaa/1.txt");
        System.out.println(file.getName());//1.txt
        System.out.println(file.getParent());//c:\aaa
        System.out.println(file.getPath());//c:\aaa\1.txt
    }
}

方法是long类型数据

long length();获取文件占用磁盘的字节数

long  lastModified();  获取当前文件修改的时间     时间戳

package com.qf.c_file;

import java.io.File;


public class Demo5 {
    public static void main(String[] args) {
        File file = new File("c:/aaa/1.txt");
        System.out.println(file.length());//获取文件的大小的 是一个字节数

        System.out.println(file.lastModified());//1679904357979
        //时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
        

    }
}

获取当前文件夹下面的所有的文件

File[] listFiles();

String[] list();

package com.qf.c_file;

import java.io.File;


public class Demo6 {
    public static void main(String[] args) {
        File file = new File("c:/");
        File[] files = file.listFiles();
        for (File file1 : files) {
            System.out.println(file1);//获取文件对象
        }

        System.out.println("=======");

        String[] list = file.list();
        for (String s : list) {
            System.out.println(s);//获取名字而已
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值