FileWriter writer = new FileWriter(output_file);
int i = 0;
try (Stream<String> lines = Files.lines(Paths.get(input_file))) {
lines.forEach(line -> {
try {
writer.write(i + " # " + line + System.lineSeparator());
} catch (Exception e) {
e.printStackTrace();
}
}
);
writer.close();
}
Ich muss die Zeile mit der Zeilennummer schreiben, also habe ich versucht, einen Zähler in .forEach() hinzuzufügen, aber ich kann es nicht zum Laufen bringen. Ich weiß nur nicht, wo ich das i ++ setzen soll; In den Code half das zufällige Herumschrauben bisher nicht.Wie fügt man einen Zähler in einen Stream ein <String> .forEach()?
Deklarieren Sie ein int außerhalb der Schleife, setzen Sie es auf 0, und erhöhen Sie es bei jeder Iteration. – Stultuske
@Stultuske Funktioniert das? Hast du es versucht? Beachten Sie, dass es hier keine Schleife gibt, aber es gibt ein Lambda. – immibis
Das ist die Frage, ich habe ein int i = 0; außerhalb des Lambda, aber ich kann es nicht in jedem for.Each() -Zyklus erhöhen. Stultuske las weder den Code noch die Frage, nur das Thema. – Vega