如何检测Java文件是文件还是文件夹(在Scala中)?
我在Scala中有以下代码,它返回目录和文件树如何检测Java文件是文件还是文件夹(在Scala中)?,java,scala,Java,Scala,我在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)
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
如您所见,有些条目是文件夹名,而有些条目是文件扩展名
如何通过编程知道条目是文件还是文件夹?我看了看,但想不出来。那个电话
val dir = FileSystems.getDefault.getPath("c://app-files")
返回路径对象。有关详细信息,请参见
Path类提供了一个方法[toFile][2];返回一个文件对象。
从此处开始:File类包含[isDirectory][2]
因此:
给你你想要的
除此之外:
Files.walk(dir).iterator().asScala.foreach(println)
迭代器生成迭代器;同样,这里有一个路径对象;您可以将其转换为文件;文件知道它是否是目录 _u.isDirectory,u.isFile可能会工作。这不编译文件。walkdir.iterator.asScala.foreachprintln_uu.isDirectory首先可能使用PathtoFilevoid从中获取文件,然后使用isDirectorythanks作为提示,第二个选项使用此代码文件。walkdir.iterator.asScala.foreach p=>printlnp.toFile.isDirectory++p
Files.walk(dir).iterator().asScala.foreach(println)