Muszę użyć Scanner
, więc czy istnieje metoda nextChar()
zamiast nextLine()
, której mogę użyć?Jak odczytać plik wejściowy char char za pomocą skanera?
Dzięki!
Muszę użyć Scanner
, więc czy istnieje metoda nextChar()
zamiast nextLine()
, której mogę użyć?Jak odczytać plik wejściowy char char za pomocą skanera?
Dzięki!
Możesz konwertować w tablicy znaków.
import java.io.*;
import java.util.Scanner;
public class ScanXan {
public static void main(String[] args) throws IOException {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("yourFile.txt")));
while (s.hasNext())
{
String str = s.next();
char[] myChar = str.toCharArray();
// do something
}
} finally {
if (s != null) {
s.close();
}
}
}
Jeśli masz aby użyć Scanner
(jak zauważył w swojej Edit), spróbuj tego:
myScanner.useDelimiter("(?<=.)");
Teraz myScanner
powinien przeczytać znak po znaku.
Możesz też zamiast używać BufferedReader
(jeśli to możliwe) - ma read
metody, które odczytuje jeden znak. Na przykład, będzie to przeczytać i wydrukować pierwszą literę swojego pliku:
BufferedReader br = new BufferedReader(new FileReader("somefile.txt"));
System.out.println((char)br.read());
br.close();
+1 dla "BufferedReader". –
podzielić wiersz na znaki przy użyciu String.toCharArray()
.
Jeśli chcesz używać Scanner
, możesz użyć next(String pattern)
.
String character = scanner.next(".");
Powyższy zwraca String
o długości 1 - czyli masz postać, ale jako ciąg znaków.
to nie działało z użyciem s.toCharArray i musiałem utworzyć zmienną łańcuchową, a następnie użyć tego z funkcją toCharArray(), ale dziękuję ci bardzo pomogło! – Gcap