scala删除所有文件但不删除目录

我在其中有一个目录和子文件夹。该目录包含5个文件和1个子目录。我需要清空子文件夹并删除 5 个文件中的 3 个。


目前我正在使用下面的代码删除文件但子文件夹没有变空。请建议


  Files.deleteIfExists(Paths.get("src/main/tempDir/doc-topics-new.txt"))

  Files.deleteIfExists(Paths.get("src/main/tempDir/new_corpus.mallet"))

  Files.deleteIfExists(Paths.get("src/main/tempDir/corpus.mallet"))

  Files.deleteIfExists(Paths.get("src/main/tempDir/sub_directory/*"))


慕哥6287543
浏览 85回答 2
2回答

幕布斯6054654

better-files支持删除目录中的所有子项,file.clear()而文件可以用file.delete(). 这是一个工作示例import better.files._object Hello extends App {    val subdirectory = file"/path/to/subdirectory"    subDirectory.clear()    val file1 = file"/path/to/file1.txt"    file1.delete()}我们需要以下依赖项libraryDependencies += "com.github.pathikrit" %% "better-files" % "3.8.0"

Cats萌萌

您可以像这样从子目录(而不是目录本身)中删除文件:def deleteOnlyFiles(file: File): Unit = {  if (file.isDirectory) {    file.listFiles.foreach(deleteOnlyFiles)  } else {     if (file.exists && !file.delete) {       throw new Exception(s"Unable to delete ${file.getAbsolutePath}")     }  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java