关于java:java学习笔记9IO系统-File类

2次阅读

共计 1663 个字符,预计需要花费 5 分钟才能阅读完成。

File 类

文件和目录(文件夹)路径名的形象示意模式
对文件和文件夹进行 增、删、获取、判断、遍历、获取大小 操作

file:文件
directory:文件夹、目录
path:门路

动态成员变量:

static char pathSeparatoChar 与零碎无关门路分隔符

门路分隔符(path 下):
;(Windows) :(Linux)

static char separatorChar 与零碎无关的默认名称分隔符

默认名称分隔符(文件名称分隔符):
Linux /(正斜杠)
windows(反斜杠)
"C:" + File.separator + "develop" + File.separator + "a"
(Windows 下:C:developa)
(Linux 下:C:/develop/a)

绝对路径:一个残缺的门路
以盘符 (c:, D:) 开始的门路

相对路径:是一个简化的门路
绝对于以后我的项目的根目录

构造方法

File(String pathname)

    private static void show01() {File f1 = new File("E:\\A JI\\program\\java\\idea projects\\learn06");
        System.out.println(f1);

    }
    
    output:E:\A JI\program\java\idea projects\learn06

File(String parent, String child)
parent: 父门路
child:子门路
作用:门路被拆分为父、子门路,能够独自书写,应用起来不便、灵便

output~C:a.txt

File(File parent, String child)
作用:
应用门路灵便
父门路为 File 类型,能够应用 File 类对门路进行一些操作

    private static void show03() {File parent = new File("C:\\");
        File file = new File(parent, "a.txt");
        System.out.println(file);
    }

罕用办法

获取性能的办法

public String getAbsolutePath()
返回绝对路径

public String getPath()
返回门路(相对返回相对,绝对返回绝对)

File 中 toString 办法就是调用 getPath 办法

public String getName()
返回 File 示意的文件或目录的名称(传递门路的结尾局部)

public long length()
构造方法指定的文件的大小,字节为单位

  1. 文件夹无大小概念
  2. 若构造方法传递门路不存在,返回 0

判断性能的办法

public boolean exists()
File 示意的文件或目录是否理论存在

public boolean isDirectory()
用于判断构造方法中给定门路是否以 文件夹结尾

public boolean isFile()
用于判断构造方法中给定门路是否以 文件结尾

isDirectory()与 isFile()

  1. 二者互斥
  2. 门路必须存在(不存在均返回 false,需提前 exists 判断)

创立删除性能的办法

public boolean createNewFile()
仅当该名称文件不存在时,创立一个新文件(不能创立文件夹

public boolean mkdir()
创立 单级空 文件

public boolean mkdirs()
既能够创立 单级空 文件 ,也能够创立 多级空 文件

即便写上文件格式,也是 创立 此名字的 文件夹

文件夹存在,不创立并返回 false,构造方法中给出的门路不存在也返回 false 并且 门路谬误不会创立

public boolean delete()
能够删除构造方法中门路给出的 文件夹 / 文件

间接在硬盘删除文件 / 文件夹,不通过回收站,删除须要审慎

目录的遍历

public String[] list()
返回 String 数组,蕴含 File 目录中所有子文件和目录(包含暗藏的)

public File[] listFiles()
遍历构造方法中给的目录,会获取目录中所有文件 / 文件夹,并封装成为一个 File 对象,对个 File 对象存储到 File 数组中

正文完
 0