Ich möchte ein Scala-Skript schreiben, um alle Dateien in einem Verzeichnis rekursiv zu verarbeiten. Für jede Datei möchte ich sehen, ob es Fälle gibt, in denen eine Zeichenkette in Zeile X und Zeile X - 2 vorkommt. Wenn ein solcher Fall auftritt, möchte ich die Verarbeitung dieser Datei stoppen und den Dateinamen zu einer Zuordnung von Dateinamen zu Vorkommenszahlen hinzufügen. Ich habe gerade angefangen, Scala heute zu lernen, ich habe die Datei recurse Code arbeiten, und brauchen etwas Hilfe mit der Zeichenkette suchen, hier ist, was ich so weit haben:
import java.io.File
import scala.io.Source
val s1= "CmdNum = 506"
val s2 = "Data = [0000,]"
def processFile(f: File) {
val lines = scala.io.Source.fromFile(f).getLines.toArray
for (i = 0 to lines.length - 1) {
// want to do string searches here, see if line contains s1 and line two lines above also contains s1
//println(lines(i))
}
}
def recursiveListFiles(f: File): Array[File] = {
val these = f.listFiles
if (these != null) {
for (i = 0 to these.length - 1) {
if (these(i).isFile) {
processFile(these(i))
}
}
these ++ these.filter(_.isDirectory).flatMap(recursiveListFiles)
}
else {
Array[File]()
}
}
println(recursiveListFiles(new File(args(0))))