吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1511|回复: 1
收起左侧

[学习记录] 【自学笔记】 Java基础 - File

[复制链接]
LongJL 发表于 2021-7-17 21:12

File

File类

  • 在读写数据时告诉虚拟机要操作的(文件/文件夹)在哪
  • 对(文件/文件夹)本身进行操作。包括创建和删除等

概述

  • 它是文件和目录路径名的抽象表示
  • 文件和目录可以通过File封装成对象
  • File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的

构造方法

  • File(String pathname) : 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
  • File(String parent, String child)从父路径名字符串和子路径名字符串创建新的File实例
  • File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的File实例
public class FileDemo1 {
    public static void main(String[] args) {
//        extracted();
//        extracted1();
//        extracted2();
    }

    private static void extracted2() {
        // `File(File parent, String child)` 从父抽象路径名和子路径名字符串创建新的`File`实例
        File file1 = new File("D:\\新建文件夹 (2)");
        String path  ="a.txt";
        File file = new File(file1,path);
        System.out.println(file);
    }

    private static void extracted1() {
        // `File(String parent, String child)`从父路径名字符串和子路径名字符串创建新的`File`实例
        String path1 = "D:\\新建文件夹 (2)";
        String path2 = "a.txt";
        File file = new File(path1,path2);
        System.out.println(file);
    }

    private static void extracted() {
        // `File(String pathname)` : 通过将给定的路径名字符串转换为抽象路径名来创建新的`File`实例
        String path = "D:\\新建文件夹 (2)\\a.txt";
        File file = new File(path);
    }
}

绝对路径和相对路径

绝对路径

从盘符开始
File file1 = new File("D:\\新建文件夹 (2)\\a.txt")

相对路径

相对当前目录下的路径

File file2 = new File("a.txt");
File file3 = new File("模块名\\a.txt");

File 类创建功能

  • public boolean createNewFile(): 创建一 个新的空的文件
    注:
    1.如果文件存储,返回false。如果不存在创建成功,返回true,只能创建文件无论有无后缀名
    2.文件所在的文件夹,必须要存在
  • public boolean mkdir(): 创建一个单级文件夹
    注:只能创建单级文件夹,不管调用者有没有后缀名,只能创建单级文件夹
  • public boolean mkdirs(): 创建一个多级文件夹
    注:只能创建单级文件夹,也可以创建多级文件夹,不管调用者有没有后缀名,只能创建单级文件夹

File 类删除功能

  • public boolean delete():删除由此抽象路径名表示的文件或目录
    注:
    1.删除不走回收站
    2.如果删除的是文件,那么直接删除,如果删除的是文件夹只能删除空文件夹
    3.如果要删除一个有内容的文件夹,只能先进入到这个文件夹,把里面的内容全部删除文件,才能再次删除这个文件夹。

File 类判断和获取功能

public boolean isDirectory() 测试此抽象路径名表示的File是否为目录
public boolean isFile() 测试此抽象路径名表示的File是否为文件
public boolean exists() 测试此抽象路径名表态的File是否存在
public String getName() 返回由此抽象路径名表示的文件或目录的名称
注:
1.如果调用的是文件,那么获取的是文件名和后缀名

public class FileDemo4 {
    public static void main(String[] args) {
        // public boolean isDirectory() 测试此抽象路径名表示的File是否为目录
        // public boolean isFile() 测试此抽象路径名表示的File是否为文件
        // public boolean exists() 测试此抽象路径名表态的File是否存在
        // public String getName() 返回由此抽象路径名表示的文件或目录的名称

        File file = new File("D:\\FileTest\\a.txt");
        boolean file1 = file.isFile();
        boolean directory = file.isDirectory();
        boolean exists = file.exists();
        System.out.println(file1);
        System.out.println(directory);
        System.out.println(exists);
        System.out.println(file.getName());
    }
}

File 类高级获取功能

  • public File[] listFiles()  返回此抽象路径名表示的目录中的文件和目录的File对象数组
    注:包括隐藏文件和隐藏文件夹都可以获取
public class FileDemo5 {
    public static void main(String[] args) {
        File file  = new File("D:\\");
        File[] files = file.listFiles();
        for (File file1 : files) {
            System.out.println(file1);
        }
    }
}
注意事项
  • 当调用者是一个文件时,返回一个null
  • 当调用者是一个空文件夹时,返回长度为0的数组
  • 当调用者是一个有内容的文件夹时,获取这个文件夹内的所有File对象存入数组
  • 当调用者是一个由权限才能进入的文件夹时,返回一个null

IO流

  • 可以将数据从本地文件读取出来
  • 可以将数据从内存保存到本地文件

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
柑桔 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

softking 发表于 2021-7-17 23:04
这个不太容易理解,小白一个      
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表