我在其中有一个目录和子文件夹。该目录包含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/*"))
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
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萌萌
TA贡献1805条经验 获得超9个赞
您可以像这样从子目录(而不是目录本身)中删除文件:
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}")
}
}
}
添加回答
举报
0/150
提交
取消