您的位置:首页 > 娱乐 > 明星 > 苏州小程序_给大家科普一下b站推广网站_昆明百度推广优化_北京营销推广公司

苏州小程序_给大家科普一下b站推广网站_昆明百度推广优化_北京营销推广公司

2025/7/13 4:13:09 来源:https://blog.csdn.net/wangqiang996/article/details/147167759  浏览:    关键词:苏州小程序_给大家科普一下b站推广网站_昆明百度推广优化_北京营销推广公司
苏州小程序_给大家科普一下b站推广网站_昆明百度推广优化_北京营销推广公司

一、File 类

1.1 前言

在 JDK 中 通过 java.io.File 类,可以实现操作系统重文件|文件夹的创建、删除、查看、重命名等操作。

1.2 File 类构造方法

在这里插入图片描述
File 一共提供了四个构造方法,都是有参构造。其中最常使用的是 File(String) 和 File(String, String) 和File(File, String)

  • File(String):参数表示文件或文件夹全路径
  • File(String, String):第一个参数表示父文件夹路径,第二个参数表示资源路径
  • File(File, String):第一个参数表示父文件夹对象,第二个参数表示资源路径

1.3 创建文件夹

File 中有两个方法能够创建文件夹

  • mkDir():创建路径中最后一层文件夹。如果希望创建的文件夹已经存在或者路径中前面的问价不存在,返回 false。
  • mkDirs():创建文件夹,如果路径中的文件夹不存在,先创建路径中的文件夹,然后再创建指定的文件夹。返回值表示是否创建成功
    代码示例
public static void main(String[] args) {File file = new File("D:/a/b");//只会创建b, 如果a不存在创建失败boolean mkdir = file.mkdir();System.out.println(mkdir);File file1 = new File("D:/c/d");//c不存在会先创建c再创建dboolean mkdirs = file1.mkdirs();System.out.println(mkdirs);
}

1.4 判断资源是否存在

exists():判断资源是否存在,存在返回 true,不存在返回 false
代码块:

public static void main(String[] args) {File file = new File("D:/io");if (file.exists()) {System.out.println("D盘中没有io文件夹");}else {System.out.println("D盘中存在io文件夹");}
}

1.5 创建空文件

createNewFile() 方法可以创建一个空文件,要求文件所在目录必须真实存在。
JDK 在定义这个方法时抛出了 IOException(Checked异常),文件路径不正确、无法操作文件等情况下抛出此异常。返回值表示创建成功。

public boolean createNewFile() throws IOException {SecurityManager security = System.getSecurityManager();if (security != null) security.checkWrite(path);if (isInvalid()) {throw new IOException("Invalid file path");}return fs.createFileExclusively(path);
}

代码示例

public static void main(String[] args) {try {File file = new File("D:/io/a.txt");boolean newFile = file.createNewFile();System.out.println(newFile);} catch (IOException e) {e.printStackTrace();}
}

1.5.1 结果一

设定计算机中 D 盘下没有 io 文件夹。程序运行会出现异常。
在这里插入图片描述

1.5.2 为了防止新建文件时因为目录不存在报异常,可以结合 exists() 和 mkDirs() 方法保证程序的稳定运行

public static void main(String[] args) {try {File parent = new File("D:/io");if (!parent.exists()) {parent.mkdirs();}File file = new File(parent, "a.txt");boolean newFile = file.createNewFile();System.out.println(newFile);} catch (IOException e) {e.printStackTrace();}
}

1.6 重命名文件

renameTo(File) 剪切。利用剪切特性,把资源剪切后放入到原路径中,起信命,实现重命名功能。

public static void main(String[] args) {File file = new File("D:/io/a.txt");boolean b = file.renameTo(new File("D:/io/b.txt"));System.out.println(b);
}

1.7 删除文件

delete() 可以实现删除文件。如果文件删除成功返回 true。如果文件不存在或删除失败返回 false

public static void main(String[] args) {File file = new File("D:/io/a.txt");boolean delete = file.delete();System.out.println(delete);
}

1.8 判断资源是否为文件

isFile() 判断资源是否是文件。如果是文件 返回 true,如果是文件夹或不存在这个资源返回 false

public static void main(String[] args) {File file = new File("D:/io/a.txt");System.out.println(file.isFile());
}

1.9 查看文件名 和 文件路径

getName() 文件名。

**getAbsolutePath() ** 文件在磁盘中全路径。

**getPath() ** 创建文件时指定的路径

public static void main(String[] args) {File file = new File("abc/test.txt");System.out.println(file.getName()); //test.txtSystem.out.println(file.getAbsolutePath()); //D:\ideaws\abc\test.txtSystem.out.println(file.getPath()); //abc\test.txt
}

1.10 查看目录中内容

list() 返回值为目录中资源的名称。返回值类型String[]。数组长度和资源个数相同。如果是空文件夹范围一个长度为0的数组对象。如果文件夹不存在返回null。

listFiles() 返回值为目录中资源对象。返回值类型File[]。数组长度和资源个数相同。如果是空文件夹范围一个长度为0的数组对象。如果文件夹不存在返回null。

public static void main(String[] args) {File file = new File("D:/io");//获取文件夹中资源名称String[] list = file.list();for (String s : list) {System.out.println(s);}//获取文件中资源对象File[] files = file.listFiles();for (File file1 : files) {System.out.println(file1);}
}

案例–打印目录结构

public static void main(String[] args) {//创建文件夹对象File file = new File("D:/io");//调用方法 参数1: 文件夹对象 参数2: 空格数量test(file, 0);
}
public static void test(File file, int length){File[] files = file.listFiles();for (File file1 : files) {if(file1.isFile()){for (int i = 0; i < length; i++) {System.out.print(" ");}System.out.println(file1.getName());}else {for (int i = 0; i < length; i++) {System.out.print(" ");}System.out.println(file1.getName());//递归调用test(file1, length+1);}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com