wie kann ich aus einer eingelesenen Textdatei, dessen zeilen zählen und ggf. ausgeben lassen, wie viele es waren.
ich komme nicht so ganz weiter.
mfg
ferhat
ich komme nicht so ganz weiter.
mfg
ferhat
FileReader fr = new FileReader(dateipfad);
BufferedReader br = new BufferedReader(fr);
String line;
String text = "";
int i = 0;
while((line = br.readLine()) != null){
text += line + "\n";
i++;
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CountLines {
public static void main(String[] args) {
String path = "./resources/Test.txt";
try {
System.out.println(countLinesIO(path));
System.out.println(countLinesNIO(path));
} catch (IOException e) {
e.printStackTrace();
}
}
public static int countLinesNIO(String path) throws IOException {
Path p = Paths.get(path);
if (Files.exists(p) && Files.isReadable(p)) {
return Files.readAllLines(p).size();
}
return -1;
}
public static int countLinesIO(String path) throws FileNotFoundException, IOException {
File file = new File(path);
if (file.exists() && file.canRead()) {
try (FileReader fileReader = new FileReader(file); BufferedReader br = new BufferedReader(fileReader)) {
int nrLines = 0;
while (br.readLine() != null) {
nrLines++;
}
return nrLines;
}
}
return -1;
}
}
Richtig - nur dass selten jemand die Zeilen zählt, nur um die Anzahl herauszufinden. Fast immer soll dann anschließend der Inhalt weiterverarbeitet werden - und dann ist so eine vorhandene ArrayList doch netter, als die Datei nochmal zu öffnen und nochmal auszulesen.Ist doch nichts anderes als Zeile für Zeile einlesen, diese zu verwerfen und dann einen Zähler zu erhöhen oder?
Danke, hatte ich tatsächlich vergessenBitte verwende wenn dann schon ordentliche Lösungen. Anonym271 schließt die InputReader nicht.