Java scanner zählt die Zeilen in einer Datei
Ich habe eine Frage, ich habe versucht, zu erstellen eine app, zählt alle vorkommen eines symbols in einer Datei... Die scanner-Methode "nextLine-Haltestellen", an der Sie eine leere Zeile... gibt es einen Weg, um es zu halten zu gehen, bis es erreicht das eigentliche Ende der Datei?
In kurz: kann ich die ECHTE Anzahl der Zeilen in einer Datei?
Danke im Voraus!
Es hört nicht auf, bis Sie das Ende der Datei. Können Sie uns zeigen, code zu reproduzieren?
Ich glaube, ich habe das gleiche dilemma. Wenn das so ist, das Problem ist, dass, wenn die Letzte Zeile leer ist, wird der Zähler nicht zählen, die Letzte Zeile und geben Sie die Anzahl der Zeilen ein, die weniger als die tatsächlichen.
Ich glaube, ich habe das gleiche dilemma. Wenn das so ist, das Problem ist, dass, wenn die Letzte Zeile leer ist, wird der Zähler nicht zählen, die Letzte Zeile und geben Sie die Anzahl der Zeilen ein, die weniger als die tatsächlichen.
InformationsquelleAutor Justas S | 2013-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Schleife verwenden:
count
enthält die Anzahl der Zeilen.InformationsquelleAutor Eugen Halca
So, ich habe getan, einige der Forschung zu diesem problem. Ich habe kommen gegen es vor kurzem beim schreiben einer Zeile zählen-Programm in Java für die Klasse, die ich nehme.
Den Grund der scanner Klasse tut, ist, weil scanner.next() und scanner.nextLine - () return Token, die durch Trennzeichen voneinander getrennt. Standardmäßig ist das Trennzeichen ist Leerzeichen. So was passiert, ist, dass beim aufrufen von scanner.hasNext() oder scanner.hasNextLine() ist, dass es sieht ob es ein token nach dem nächsten Trennzeichen. Wenn eine Datei endet in einem neue-Zeile-Zeichen, es gibt keine token, nachdem, dass, so hasNext() und hasNextLine() false zurück.
Soweit ich das beurteilen kann, zu tun, was Sie wollen, würden Sie brauchen, um die Anzahl der Trennzeichen, die besser ist, behandelt in Martinus ' s Antwort. Siehe auch AFinkelstein ist Antwort.
InformationsquelleAutor wolf123450
Sehen Scanner.hasNextLine(), sollten Sie wahrscheinlich verwenden, die in der Schleifenbedingung. Es gibt auch eine Scanner.hasNext() wenn es funktioniert besser für Ihre Bedürfnisse.
InformationsquelleAutor dajavax