Skip to content

File类

在创建 File 对象的时候,需要传递一个路径,这个路径定位到哪个文件或文件夹上,当前 File 对象就表示哪个文件。

分隔符

分隔符描述符号
pathSeparator路径分隔符;
separator名称分隔符/
java
@Test
public void test() {
  char pathSeparatorChar = File.pathSeparatorChar;
  System.out.println(pathSeparatorChar); // ;

  String separator = File.separator;
  System.out.println(separator);         // \
}

@Test
public void test1() {
  // 使用 File.separator 可以适应不同的系统
  String path = "D" + File.separator + "java" + File.separator + "1.txt";
  System.out.println(path); // "D\java\1.txt"
}

构造函数

构造函数描述
File(String parent, String child)根据路径创建 File 对象
File(File parent, String child)根据路径创建 File 对象
File(String pathname)根据路径创建 File 对象
java
@Test
public void test() {
  // 方式一
  File file1 = new File("D:\\java", "1.txt");
  System.out.println(file1); // D:\java\1.txt

  // 方式二
  File parent = new File("D:\\java");
  File file2 = new File(parent, "1.txt");
  System.out.println(file2); // D:\java\1.txt

  // 方式三
  File file3 = new File("D:\\java\\1.txt");
  System.out.println(file3); // D:\java\1.txt
}

注意

File() 的参数允许传递一个不存在的路径,程序不会报错,但是没有任何意义。

java
@Test
public void test1() {
  // 正常输出,没有报错
  File file = new File("D:\\java\\1.txt");
  System.out.println(file); // D:\java\1.txt
}

常用获取方法

方法描述
getAbsolutePath()获取 File 的绝对路径(默认是当前项目的路径)
getPath()获取 File 的封装路径(即new File()时写的参数路径)
getName()获取文件夹/文件名称
length()获取文件的字节数
java
@Test
public void test() {
  File file1 = new File("1.txt");
  System.out.println(file1.getAbsolutePath()); // E:\StudyCode\java-demo\Module_FileStream\1.txt
  System.out.println(file1.getPath());         // 1.txt

  File file2 = new File("E:\\StudyCode\\1.txt");
  System.out.println(file2.getName()); // 1.txt
  System.out.println(file2.length());  // 3
}

常用创建方法

方法描述
createNewFile()创建文夹
mkdirs()创建文件夹(可以创建多级文件夹,也可以创建单级文件夹)

注意

上面两个方法:

  1. 若创建的文件/文件夹之前有,则创建失败,会返回 false;
  2. 若创建的文件/文佳佳之前没有,则创建成功,返回 true;
java
@Test
public void test1() throws IOException {
  File file1 = new File("E:\\StudyCode\\1.txt");
  System.out.println(file1.createNewFile()); // true

  File file2 = new File("E:\\StudyCode\\haha\\heihei\\hehe\\");
  System.out.println(file2.mkdirs()); // true
}

常用删除方法

方法描述
delete()删除文件/文件夹

危险

  1. delete方法删除文件/空文件夹时,不会走回收站,所以谨慎操作!
  2. 删除文件夹时,只有空文件夹才可以删除,嵌套的文件夹只能从最里面开始删;
java
@Test
public void test2() {
  File file = new File("E:\\StudyCode\\1.txt");
  System.out.println(file.delete());

  File file1 = new File("E:\\StudyCode\\haha\\heihei\\");
  System.out.println(file1.delete());
}

常用判断方法

方法描述
isDirectoty()判断是否是文件夹
isFile()判断是否是文件
exists()判断文件/文件夹是否存在
java
@Test
public void test3() {
  File file = new File("E:\\StudyCode\\1.txt");
  System.out.println(file.isDirectory()); // false
  System.out.println(file.isFile());      // true
  System.out.println(file.exists());      // true
}

常用遍历方法

方法描述
list()遍历指定的文件夹,返回 String 数组(里面是每个文件名)
listFiles()遍历指定的文件夹,返回 File 数组(里面是每个文件的完整路径名)
java
@Test
public void test4() {
  File file = new File("E:\\StudyCode\\前端");

  String[] list = file.list();
  for (String s : list) {
    System.out.println(s);
  }

  File[] files = file.listFiles();
  for (File file1 : files) {
    System.out.println(file1);
  }
}

Released under the MIT License.

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。