自学内容网 自学内容网

Java 文件流操作

文件操作

  • 删除文件夹
# 准备文件夹
mkdir -p parent/children

默认的 File#delete 方法, 在还有子文件夹时, 会返回 false 删除失败 (当然, 文件被占用无法删除, 也会返回 false)

// 1. JDK 8 的删除方法 careful NoSuchFileException in Files#walk
try (Stream<Path> walk = Files.walk(Paths.get("parent/children"))) {
walk.sorted(Comparator.reverseOrder()).forEach(path1 -> {
try { // JDk 8 的删除方式
Files.delete(path1);
} catch (Exception e) { throw new RuntimeException(e); }
});
} catch (IOException e) {
System.err.printf("error in walk [%s]: %s%n", e.getClass().getSimpleName(), e.getMessage());
}
// 2. Apache Commons IO 的删除方法, 只用调用一个方法
File directory = new File("parent/children");
if (directory.exists()) {
org.apache.commons.io.FileUtils.deleteDirectory(directory);
}
// 3. 使用递归的方式进行删除 (利用 dfs)
void deleteDirectory(File file) {
    for (File subfile : file.listFiles()) {
        deleteDirectory(subfile);
    }
    System.out.println("delete " + file.getPath() + " " + file.delete());  // file.delete();
}

(待更新)
(TO BE CONTINUE)


原文地址:https://blog.csdn.net/howeres/article/details/143503750

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!