czy "enter" jest traktowany przez Javę jako biały znak?
w programie mam wczytać cztery dane liczbowe z pliku i te dane mogą być rozdzielone białymi znakami. wydawało mi się, że najlepszym sposobem będzie wczytanie najpierw wszystkiego co się w pliku znajduje, a następnie sprawdzenie czy liczba danych jest odpowiednia w ten sposób:
Scanner scan = new Scanner (new File(fname));
String dane = "";
while (scan.hasNextLine()) dane = dane + scan.nextLine();
StringTokenizer st = new StringTokenizer (dane);
if (st.countTokens() != 4) wynik = "***";
To powoduje jednak problem, jeżeli dane nie są zapisane w jednej linii (np. 1 2 3 4) tylko w liniach kolejnych:
1
2
3
4
bo wtedy mój sposób wczytywania powoduje, że zamiast czterech danych mam jedną o wartości 1234
pomyślałem o takiej modyfikacji kodu:
Scanner scan = new Scanner (new File(fname));
String dane = "";
while (scan.hasNextLine()) dane = dane + scan.nextLine() + " ";
StringTokenizer st = new StringTokenizer (dane);
if (st.countTokens() != 4) wynik = "***";
ale nie wiem czy to ma sens