Ich versuche, eine Liste aller Verzeichnisse und eine Liste aller Dateien auf meinem Computer mit Scala zu bekommen. Im Folgenden sind zwei verschiedene Möglichkeiten, die ich versucht habe, das Problem zu lösen. Warum bekomme ich eine Nullzeigerausnahme?Holen Sie sich eine Liste aller Verzeichnisse und eine Liste aller Dateien auf dem Computer mit 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)
}
Es wäre einfacher zu helfen, wenn Sie Informationen zum Speicherort der Ausnahme angeben. – Zernike