Frage

Ich beschloss, einen Währungsumrechner in Java zu erstellen, und es hat, so dass es die Umrechnungswerte aus einer Textdatei ziehen würde (für die einfache Editierbarkeit zu ermöglichen, da diese Werte ständig ändern). Ich habe es geschafft, es zu tun, indem Sie die Scanner-Klasse und alle Werte in einer Arraylist setzen.

Jetzt frage ich mich, ob es einen Weg gibt, um Kommentare zu der Textdatei für den Benutzer hinzuzufügen, zu lesen, die Scanner ignoriert. "//" scheint nicht zu funktionieren.

Danke

War es hilfreich?

Lösung

Die beste Weg wäre, um die Datei Zeile für Zeile zu lesen, mit java.io.BufferedReader und scannen jede Zeile für Kommentare a href mit <=" http://java.sun.com/javase/6/docs/api/java/lang/String.html#startsWith%28java. lang.String% 29" rel = "nofollow noreferrer"> String#startsWith() wo in Sie sucht nach "//".

Aber haben Sie darüber nachgedacht, mit einem Properties-Datei und verwalten sie mit dem java.util.Properties API? Auf diese Weise können Sie aus einer vorgefertigten Spezifikation und APIs profitieren und Sie können # als Beginn der Kommentarzeile verwenden. Siehe auch das Tutorial bei sun.com .

Andere Tipps

Scanner ignorieren nicht nichts, müssen Sie die Kommentare aus Ihren Daten entfernen, nachdem Sie es in gelesen haben.

Ja, während ((GEGENWÄRTIGE_ZEILE = bufferedReader.readLine ())! = Null) möglicherweise ist die einfachste, dann notwendigen Tests durchführen. currentLine.split (regex) ist auch sehr praktisch, eine Linie in einem Array von Werten unter Verwendung eines Trennzeichens für die Umwandlung.

Mit Java nio, Sie so etwas tun könnte. Angenommen, Sie mögen Zeilen ignorieren, die mit „//“ beginnen und am Ende mit einem Arraylist.

List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
             .filter(line -> !(line.startsWith("//")))
             .collect(Collectors.toCollection(ArrayList::new));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top