Java中的File类

File类是Java内置的一个类,专门处理电脑磁盘上面的文件和文件夹的一个类
文件路径问题:
​ 相对路径:
​ 得有一个参照物
​ 我在子豪的前面做,参照物是子豪
​ ./代表的是当前的工作目录
​ …/上一级目录
​ …/…/上两级目录
​ …/…/…/上三级目录
​ 绝对路径:
​ 从磁盘的跟目录一直到文件的所在位置
​ C:\aaa\3.txt

File构造方法

File(String pathname)

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

File(String parent, String child)

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

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、付费专栏及课程。

余额充值