gpt4 book ai didi

java - 如何检测 Java File Walk 是文件还是文件夹(在 Scala 中)?

转载 作者:行者123 更新时间:2023-12-01 08:52:23 25 4
gpt4 key购买 nike

我在 Scala 中有以下代码,它返回目录和文件树

import java.nio._
import java.nio.file._
import collection.JavaConverters._

object TestFileWalk extends App {
val dir = FileSystems.getDefault.getPath("c://app-files")
Files.walk(dir).iterator().asScala.foreach(println)
}

运行上面的代码返回:

c:\app-files
c:\app-files\csv
c:\app-files\csv\10
c:\app-files\csv\10\Book2.csv
c:\app-files\csv\11
c:\app-files\csv\11\Book3.txt
c:\app-files\csv\12
c:\app-files\csv\9
c:\app-files\csv\9\Book1.csv
c:\app-files\csvtemp
c:\app-files\csvtemp\user1
c:\app-files\csvtemp\user1\script 2016-11-04.sql
c:\app-files\This is a folder with Uppercase
c:\app-files\This is a folder with Uppercase\File in the folder with Uppercase.csv

如您所见,某些条目是文件夹名称,其他条目是文件名(文件具有扩展名)。

如何以编程方式知道该条目是文件还是文件夹?我看了Path但无法弄清楚。

最佳答案

那个电话

val dir = FileSystems.getDefault.getPath("c://app-files") 

返回 Path 对象(有关详细信息,请参阅 here )。

而Path类提供了一个方法[toFile()][2] ;返回一个文件对象。从那里:File 类包含 [isDirectory()][2]

因此:

dir.toFile().isDirectory()

给你你正在寻找的东西!

除此之外:

Files.walk(dir).iterator().asScala.foreach(println)

walk(dir).iterator()结果 Iterator<Path> ;再说一次 - 你那里有一个 Path 对象;您可以将其转换为文件;并且文件知道它是否是目录!

关于java - 如何检测 Java File Walk 是文件还是文件夹(在 Scala 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42305409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com