-1
我试图用Scala获取我的电脑上所有目录和列表中的所有文件列表。以下是我尝试解决该问题的两种不同方式。为什么我得到一个空指针异常?使用Scala获取计算机上所有目录的列表和所有文件的列表。
def fullDirList(directories: Array[String]): Array[String ] = {
directories.foldLeft(Array[String]()){ (x, y) => x ++: fullDirList(getSubDirList(y))
}
def getFullDirList(directories: Array[String]): Array[String] = {
def loop(dir: Array[String], accDir: Array[String]): Array[String] = {
if (dir.isEmpty) accDir
else loop(dir.tail, accDir ++: getFullDirList(getSubDirList(dir.head)))
} // END loop()
loop(directories, Array[String]())
} // END getFullDirList()
def getSubDirList(directoryName: String): Array[String] = {
(new File(directoryName)).listFiles.filter(_.isDirectory).map(_.getName)
}
def getFileArray(directoryName: String): Array[String] = {
(new File(directoryName)).listFiles.filter(_.isFile).map(_.getAbsolutePath)
}
如果您提供有关异常位置的信息,将会更容易提供帮助。 – Zernike