- java.lang.Object
- java.util.Scanner
- Implementierte Schnittstellen
Closeable,AutoCloseable,Iterator<String>
public final class Scanner extends Object implements Iterator<String>, Closeable
Ein einfacher Textscanner, der primitive Typen und Strings mit regulären Ausdrücken parst.ScannerDer Scanner zerlegt seine Eingabe mit einem Trennzeichenmuster in Token. Dieses Muster passt standardmäßig auf Leerzeichen. Die erzeugten Token lassen sich dann mit verschiedenen next-Methoden in Werte unterschiedlicher Typen umwandeln.next方法。Beispielsweise erlaubt dieser Code dem Benutzer, Zahlen von
System.inzu lesen:Scanner sc = new Scanner(System.in); int i = sc.nextInt();Als weiteres Beispiel erlaubt dieser Code, Zahlen aus der Datei
myNumberszuzuweisenlongTyp:Scanner sc = new Scanner(new File("myNumbers")); while (sc.hasNextLong()) { long aLong = sc.nextLong(); }Der Scanner kann auch Trennzeichen außerhalb von Leerzeichen verwenden. Dieses Beispiel liest mehrere Elemente aus einem String:
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*"); System.out.println(s.nextInt()); System.out.println(s.nextInt()); System.out.println(s.next()); System.out.println(s.next()); s.close();Die Ausgabe sieht folgendermaßen aus:
1 2 red blueDerselbe Output entsteht mit diesem Code. Der Code parst alle vier Token auf einmal mit einem regulären Ausdruck:
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input); s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)"); MatchResult result = s.match(); for (int i=1; i<=result.groupCount(); i++) System.out.println(result.group(i)); s.close();4502201395911 erkennt das default whitespace delimiter, das der Scanner verwendet.
reset()Die Methode setzt den Wert des Scanner-Trennzeichens auf das Standard-Leerzeichen-Trennzeichen zurück, unabhängig von früheren Änderungen.Scanvorgänge blockieren möglicherweise und warten auf Eingaben.
next()undhasNext()Die Methoden und ihre Begleitmethoden (zum BeispielnextInt()undhasNextInt()) überspringen zuerst jede Eingabe, die dem Trennzeichen-Muster entspricht. Danach versuchen sie, das nächste Token zurückzugeben.hasNext()和next()Die Methoden blockieren beide möglicherweise und warten auf weitere Eingaben.hasNext()Ob die Methode blockiert, hängt davon ab, ob die zugehörigenext()Methode blockiertnext().tokens()Die Methode blockiert ebenfalls möglicherweise und wartet auf Eingaben.der
findInLine(),findWithinHorizon(),skip()undfindAll()Die Methoden arbeiten unabhängig vom Trennzeichen-Muster. Diese Methoden versuchen, das angegebene Muster ohne Rücksicht auf Trennzeichen in der Eingabe zu matchen. Deshalb verwenden Sie sie in Sonderfällen, in denen Trennzeichen keine Rolle spielen. Diese Methoden blockieren möglicherweise und warten auf weitere Eingaben.Je nach Typ des Trennmusters gibt die Methode leere Token zurück. Zum Beispiel gibt das Muster
"\\s+"keine leeren Token zurück, weil es mehrere Instanzen des Trennzeichens matcht."\\s"模式"\\s"gibt leere Token zurück, weil es jeweils nur ein Leerzeichen durchläuft.Ein Scanner kann Text aus jedem Objekt lesen, das das
ReadableInterface implementiert. Wenn ein Aufruf der zugrunde liegenden read-Methoderead()auslöst, nimmt der Scanner an, dass das Ende der Eingabe erreicht ist. Die neuesteIOExceptionlässt sich mit derioException()Methode abrufen, die vom zugrunde liegenden Readable ausgelöst wurdeIOException。Wenn
Scannergeschlossen wird und die Quelle dasCloseableInterface implementiert, schließt der Scanner seine Eingabequelle.ScannerDie Klasse ist nicht sicher für die Verwendung in mehreren Threads ohne externe Synchronisation.Sofern nicht anders angegeben, übergeben Sie den
nullParameter annull任何方法Scannerführt zum Auslösen einerNullPointerException。Außer wenn mit der Methode
useRadix(int)eine andere Basis gesetzt wurde, interpretiert der Scanner Zahlen standardmäßig als Dezimalzahlen. Unabhängig davon, ob der Scanner zuvor geändert wurde, setzt die Methodereset()den Wert der Scanner-Basis auf10。Lokalisierte Zahlen
Instanzen dieser Klasse können Zahlen im Standardformat sowie im Format der Spracheinstellung des Scanners scannen. Die anfängliche Locale des Scanners ist der Wert, den die Methode
Locale.getDefault(Locale.Category.FORMAT)zurückgibt. Sie lässt sich mit der MethodeuseLocale()ändern.reset()Die Methodesetzt den Wert der Locale des Scanners auf die anfängliche Locale zurück, unabhängig davon, ob sie zuvor geändert wurde.
DecimalFormat对象dfObjektDecimalFormatSymbols对象dfs。- LocalGroupSeparator Das Zeichen zur Trennung von Tausendergruppen, also
dfs.getGroupingSeparator()- LocalDecimalSeparator Das Zeichen für den Dezimalpunkt, also
dfs.getDecimalSeparator()- LocalPositivePrefix Die Zeichenkette vor einer positiven Zahl (kann leer sein), also
df.getPositivePrefix()- LocalPositiveSuffix Die Zeichenkette nach einer positiven Zahl (kann leer sein), also
df.getPositiveSuffix()- LocalNegativePrefix Die Zeichenkette vor einer negativen Zahl (kann leer sein), also
df.getNegativePrefix()- LocalNegativeSuffix Die Zeichenkette nach einer negativen Zahl (kann leer sein), also
df.getNegativeSuffix()- LocalNaN Die Zeichenkette, die für Gleitkommawerte "Not a Number" darstellt, also
dfs.getNaN()- LocalInfinity Die Zeichenkette, die für Gleitkommawerte Unendlichkeit darstellt, also
dfs.getInfinity()
Zahlensyntax
Instanzen dieser Klasse parsen Zeichenketten nach der folgenden regulären Syntax in Zahlen. Dabei ist Rmax die höchste Ziffer der verwendeten Basis. In der Basis 10 ist Rmax zum Beispiel 9.
- NonAsciiDigit: Ein Nicht-ASCII-Zeichen c,
Character.isDigit(c)das true zurückgibt. Non0Digit:[1-Rmax] |NonASCIIDigit Ziffer:[0-Rmax] |NonASCIIDigit GroupedNumeral:(Non0Digit Digit?Digit?-
(LocalGroupSeparator Ziffer Ziffer Ziffer)+ ) - Zahl:
( (数字+ ) |GroupedNumeral)- Integer:
( [-+]? (数字) )-
|LocalPositivePrefix Zahlen LocalPositiveSuffix |LocalNegativePrefix Zahlen LocalNegativeSuffix Dezimalzahl : Zahlen|Zahlen LocalDecimalSeparator Zahlen*-
|LocalDecimalSeparator Zahlen+ - Exponent :
( [eE] [+-]?数字+ )- Decimal :
( [-+]?DecimalNumeral Exponent? )-
|LocalPositivePrefix DecimalNumeral LocalPositiveSuffix Exponent? -
|LocalNegativePrefix DecimalNumeral LocalNegativeSuffix Exponent? - HexFloat :
[-+]? 0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+ ([pP][-+]?[0-9]+)?- Nicht-Zahl :
NaN |LocalNan| Infinity |LocalInfinity SignedNonNumber :( [-+]?NonNumber)-
|LocalPositivePrefix NonNumber LocalPositiveSuffix |LocalNegativePrefix NonNumber LocalPositiveSuffix Float : Dezimal|HexFloat|SignedNonNumber In den obigen regulären Ausdrücken sind Leerzeichen nicht relevant.
- Seit Version: 1.5
-
-
构造方法摘要
Konstruktor Konstruktor Beschreibung Scanner(File source)Erstellt ein neuesScannerObjekt, das Werte aus der angegebenen Datei liest.Scanner(File source, String charsetName)Erstellt ein neuesScannerObjekt, das Werte aus der angegebenen Datei liest.Scanner(File source, Charset charset)Erstellt ein neuesScannerObjekt, das Werte aus der angegebenen Datei liest.Scanner(InputStream source)Erstellt ein neuesScannerObjekt, das Werte aus dem angegebenen Eingabestrom liest.Scanner(InputStream source, String charsetName)Erstellt ein neuesScannerObjekt, das Werte aus dem angegebenen Eingabestrom liest.Scanner(InputStream source, Charset charset)Erstellt ein neuesScannerObjekt, das Werte aus dem angegebenen Eingabestrom liest.Scanner(Readable source)Erstellt ein neuesScannerObjekt, das Werte aus der angegebenen Quelle liest.Scanner(String source)Erstellt ein neuesScannerObjekt, das Werte aus der angegebenen Zeichenkette liest.Scanner(ReadableByteChannel source)Erstellt ein neuesScanner, das Werte aus dem angegebenen Kanal scannen kann.Scanner(ReadableByteChannel source, String charsetName)Erstellen Sie ein neuesScanner, das Werte aus dem angegebenen Kanal scannen kann.Scanner(ReadableByteChannel source, Charset charset)Erstellen Sie ein neuesScanner, das Werte aus dem angegebenen Kanal scannen kann.Scanner(Path source)Erstellen Sie ein neuesScanner, das Werte aus der angegebenen Datei scannt.Scanner(Path source, String charsetName)Erstellen Sie ein neuesScanner, das Werte aus der angegebenen Datei scannt.Scanner(Path source, Charset charset)Erstellen Sie ein neuesScanner, das Werte aus der angegebenen Datei scannt.
-
方法摘要
Alle Methoden Instanzmethoden Konkrete Methoden Variablen und Typ Methode Beschreibung voidclose()Schließt diesen Scanner.Patterndelimiter()GibtPatterndasScanneraktuell zum Abgleich des Trennzeichens verwendet wird, zurück.Stream<MatchResult>findAll(String patString)Gibt einen Stream von Übereinstimmungsergebnissen zurück, die zur bereitgestellten Musterzeichenfolge passen.Stream<MatchResult>findAll(Pattern pattern)Gibt einen Stream von Übereinstimmungsergebnissen dieses Scanners zurück.StringfindInLine(String pattern)Sucht das nächste Muster, das aus der angegebenen Zeichenfolge erstellt wurde, und ignoriert dabei das Trennzeichen.StringfindInLine(Pattern pattern)Sucht die nächste Übereinstimmung mit dem angegebenen Muster und ignoriert dabei das Trennzeichen.StringfindWithinHorizon(String pattern, int horizon)Sucht das nächste Muster, das aus der angegebenen Zeichenfolge erstellt wurde, und ignoriert dabei das Trennzeichen.StringfindWithinHorizon(Pattern pattern, int horizon)Sucht die nächste Übereinstimmung mit dem angegebenen Muster.booleanhasNext()Gibt true zurück, wenn sich ein weiteres Token in der Eingabe dieses Scanners befindet.booleanhasNext(String pattern)Gibt true zurück, wenn das nächste Token dem Muster entspricht, das aus der angegebenen Zeichenfolge erstellt wurde.booleanhasNext(Pattern pattern)Gibt true zurück, wenn das nächste vollständige Token dem angegebenen Muster entspricht.booleanhasNextBigDecimal()Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextBigDecimal()Methode alsBigDecimal则返回true.booleanhasNextBigInteger()Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextBigInteger()Methode in der Standardbasis alsBigInteger,则返回true.booleanhasNextBigInteger(int radix)Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextBigInteger()Methode in der angegebenen Basis alsBigInteger,则返回true.booleanhasNextBoolean()Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners als boolescher Wert interpretiert werden kann. Dabei wird ein Muster ohne Groß-/Kleinschreibung verwendet, das aus der Zeichenfolge „true | false" erstellt wurde.booleanhasNextByte()Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextByte()Methode als Bytewert in der Standardbasis interpretiert werden kann.booleanhasNextByte(int radix)Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextByte()Methode als Bytewert in der angegebenen Basis interpretiert werden kann.booleanhasNextDouble()Gibt true zurück, wennnextDouble()der nächste Token in der Eingabe dieses Scanners als double-Wert mit der Methode interpretiert werden kann.booleanhasNextFloat()Gibt true zurück, wennnextFloat()der nächste Token in der Eingabe dieses Scanners als Gleitkommawert mit der Methode interpretiert werden kann.booleanhasNextInt()Gibt true zurück, wennnextInt()der nächste Token in der Eingabe dieses Scanners als int-Wert im Standardradix mit der Methode interpretiert werden kann.booleanhasNextInt(int radix)Gibt true zurück, wenn der nächste Token in der Eingabe dieses ScannersnextInt()mit der Methode als int-Wert im angegebenen Radix interpretiert werden kann.booleanhasNextLine()Gibt true zurück, wenn die Eingabe dieses Scanners eine weitere Zeile enthält.booleanhasNextLong()Gibt true zurück, wennnextLong()der nächste Token in der Eingabe dieses Scanners als long-Wert im Standardradix mit der Methode interpretiert werden kann.booleanhasNextLong(int radix)Gibt true zurück, wennnextLong()der nächste Token in der Eingabe dieses Scanners mit der Methode als long-Wert im angegebenen Radix interpretiert werden kann.booleanhasNextShort()Gibt true zurück, wennnextShort()der nächste Token in der Eingabe dieses Scanners mit der Methode als short-Wert im Standardradix interpretiert werden kann.booleanhasNextShort(int radix)Gibt true zurück, wenn der nächste Token in der Eingabe dieses ScannersnextShort()mit der Methode als short-Wert im angegebenen Radix interpretiert werden kann.IOExceptionioException()GibtIOExceptiondas grundlegendeScannerzurück, das zuletzt durch diesenReadable。Localelocale()Gibt das Gebietsschema dieses Scanners zurück.MatchResultmatch()Gibt das Übereinstimmungsergebnis der letzten von diesem Scanner ausgeführten Scanoperation zurück.Stringnext()Sucht den nächsten vollständigen Token in diesem Scanner und gibt ihn zurück.Stringnext(String pattern)Gibt den nächsten Token zurück, wenn er mit dem aus dem angegebenen String konstruierten Muster übereinstimmt.Stringnext(Pattern pattern)Gibt den nächsten Token zurück, wenn er mit dem angegebenen Muster übereinstimmt.BigDecimalnextBigDecimal()Scannt den nächsten Token der Eingabe alsBigDecimal.BigIntegernextBigInteger()Scannt den nächsten Token der Eingabe alsBigInteger.BigIntegernextBigInteger(int radix)Scannt den nächsten Token der Eingabe alsBigInteger.booleannextBoolean()Scannt den nächsten Token der Eingabe als booleschen Wert und gibt diesen Wert zurück.bytenextByte()Scannt den nächsten Token der Eingabe alsbyte。bytenextByte(int radix)Scannt den nächsten Token der Eingabe alsbyte。doublenextDouble()Scannt den nächsten Token der Eingabe alsdouble。floatnextFloat()Scannt den nächsten Token der Eingabe alsfloat。intnextInt()Scannt das nächste Token der Eingabe alsint。intnextInt(int radix)Scannt das nächste Token der Eingabe alsint。StringnextLine()Setzt diesen Scanner über die aktuelle Zeile hinaus fort und gibt die übersprungene Eingabe zurück.longnextLong()Scannt das nächste Token der Eingabe alslong。longnextLong(int radix)Scannt das nächste Token der Eingabe alslong。shortnextShort()Scannt das nächste Token der Eingabe alsshort。shortnextShort(int radix)Scannt das nächste Token der Eingabe alsshort。intradix()Gibt die Standardbasis dieses Scanners zurück.voidremove()IteratorDiese Implementierung vonScannerreset()unterstützt keine Entfernungsoperation.Scannerskip(String pattern)Setzt diesen Scanner zurück.Scannerskip(Pattern pattern)Überspringt Eingaben, die zum Muster passen, das aus dem angegebenen String konstruiert wurde.Stream<String>tokens()Überspringt Eingaben, die zum angegebenen Muster passen, und ignoriert Trennzeichen.StringtoString()Gibt einen Strom von durch Trennzeichen getrennten Tokens von diesem Scanner zurück.ScannerGibt die String-Darstellung diesesScanner。ScanneruseDelimiter(String pattern)Setzt das Trennungsmuster dieses Scanners auf das Muster, das aus dem angegebenenStringkonstruiert wurde.ScanneruseDelimiter(Pattern pattern)Setzt das Trennungsmuster dieses Scanners auf das angegebene Muster.ScanneruseLocale(Locale locale)Setzt das Gebietsschema dieses Scanners auf das angegebene Gebietsschema.ScanneruseRadix(int radix)Setzt die Standardbasis dieses Scanners auf die angegebene Basis.-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
声明方法的接口 java.util.Iterator
forEachRemaining
-
-
-
-
构造方法详细信息
-
Scanner
public Scanner(Readable source)
Konstruiert einen neuenScanner, der Werte erzeugt, die aus der angegebenen Quelle gescannt werden.- Parameter
source- Zeichenquelle, die dasReadableInterface implementiert
-
Scanner
public Scanner(InputStream source)
Konstruiert einen neuenScanner, der Werte erzeugt, die aus dem angegebenen Eingabestrom gescannt werden. Konvertiert Bytes im Strom mit dem default charset der zugrunde liegenden Plattform in Zeichen.- Parameter
source- Der zu scannende Eingabestrom
-
Scanner
public Scanner(InputStream source, String charsetName)
Konstruiert einen neuenScanner, der Werte aus dem angegebenen Eingabestrom scannt. Die Bytes im Strom werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Der zu scannende EingabestromcharsetName- Der Kodierungstyp, der die Bytes im Strom in zu scannende Zeichen umwandelt. AusnahmenIllegalArgumentException- Wenn der angegebene Zeichensatz nicht existiert
-
Scanner
public Scanner(InputStream source, Charset charset)
Konstruiert einen neuenScanner, der Werte aus dem angegebenen Eingabestrom scannt. Die Bytes im Strom werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Der zu scannende Eingabestromcharset- Der Zeichensatz, der die Bytes im Strom in zu scannende Zeichen umwandelt. Seit Version: 10
-
Scanner
public Scanner(File source) throws FileNotFoundException
Konstruiert einen neuenScanner, der Werte aus der angegebenen Datei scannt. Die Bytes in der Datei werden mit dem default charset der zugrunde liegenden Plattform in Zeichen umgewandelt.- Parameter
source- Die zu scannende Datei. AusnahmenFileNotFoundException- Wenn die Quelle nicht gefunden wird
-
Scanner
public Scanner(File source, String charsetName) throws FileNotFoundException
Konstruiert einen neuenScanner, der Werte aus der angegebenen Datei scannt. Die Bytes in der Datei werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Die zu scannende DateicharsetName- Der Kodierungstyp, der die Bytes in der Datei in zu scannende Zeichen umwandelt. AusnahmenFileNotFoundException- Wenn die Quelle nicht gefunden wirdIllegalArgumentException- Wenn die angegebene Kodierung nicht gefunden wird
-
Scanner
public Scanner(File source, Charset charset) throws IOException
Konstruiert einen neuenScanner, der Werte aus der angegebenen Datei scannt. Die Bytes in der Datei werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Die zu scannende Dateicharset- Der Zeichensatz, der die Bytes in der Datei in zu scannende Zeichen umwandelt. AusnahmenIOException- Wenn beim Öffnen der Quelle ein I/O-Fehler auftritt. Seit Version: 10
-
Scanner
public Scanner(Path source) throws IOException
Konstruiert einen neuenScanner, der Werte aus der angegebenen Datei scannt. Die Bytes in der Datei werden mit dem default charset der zugrunde liegenden Plattform in Zeichen umgewandelt.- Parameter
source- Pfad der zu scannenden Datei AusnahmeIOException- Wenn beim Öffnen der Quelle ein E/A-Fehler auftritt Seit Version: 1.7
-
Scanner
public Scanner(Path source, String charsetName) throws IOException
Konstruiert einen neuenScanner, der Werte erzeugt, die aus der angegebenen Datei gescannt werden. Die Bytes in der Datei werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Pfad der zu scannenden DateicharsetName- Kodierungstyp, der die Bytes in der Datei in zu scannende Zeichen umwandelt AusnahmeIOException- Wenn beim Öffnen der Quelle ein E/A-Fehler auftrittIllegalArgumentException- Wenn die angegebene Kodierung nicht gefunden wird Seit Version: 1.7
-
Scanner
public Scanner(Path source, Charset charset) throws IOException
Konstruiert einen neuenScanner, der Werte erzeugt, die aus der angegebenen Datei gescannt werden. Die Bytes in der Datei werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Pfad der zu scannenden Dateicharset- Zeichensatz, der die Bytes in der Datei in zu scannende Zeichen umwandelt AusnahmeIOException- Wenn beim Öffnen der Quelle ein E/A-Fehler auftritt Seit Version: 10
-
Scanner
public Scanner(String source)
Konstruiert einen neuenScanner, der Werte erzeugt, die aus dem angegebenen String gescannt werden.- Parameter
source- Der zu scannende String
-
Scanner
public Scanner(ReadableByteChannel source)
Konstruiert einen neuenScanner, der Werte erzeugen kann, die aus dem angegebenen Kanal gescannt werden. Die Bytes aus der Quelle werden mit dem default charset der zugrunde liegenden Plattform in Zeichen umgewandelt.- Parameter
source- Der zu scannende Kanal
-
Scanner
public Scanner(ReadableByteChannel source, String charsetName)
Konstruiert einen neuenScanner, der Werte erzeugen kann, die aus dem angegebenen Kanal gescannt werden. Die Bytes aus der Quelle werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Der zu scannende KanalcharsetName- Kodierungstyp, der die Bytes aus dem Kanal in zu scannende Zeichen umwandelt AusnahmeIllegalArgumentException- Wenn der angegebene Zeichensatz nicht existiert
-
Scanner
public Scanner(ReadableByteChannel source, Charset charset)
Konstruiert einen neuenScanner, der Werte erzeugen kann, die aus dem angegebenen Kanal gescannt werden. Die Bytes aus der Quelle werden mit dem angegebenen Zeichensatz in Zeichen umgewandelt.- Parameter
source- Der zu scannende Kanalcharset- Kodierungstyp, der die Bytes aus dem Kanal in zu scannende Zeichen umwandelt Seit Version: 10
-
-
方法详细信息
-
close
public void close()
Schließt diesen Scanner. Wenn dieser Scanner noch nicht geschlossen ist und das zugrunde liegende readable ebenfalls dasCloseableInterface implementiert, wird diecloseMethode des readable aufgerufen. Wenn dieser Scanner bereits geschlossen ist, hat der Aufruf dieser Methode keine Wirkung.Der Versuch, nach dem Schließen des Scanners eine Suchoperation auszuführen, führt zu
IllegalStateException.- Specified by:
close在界面AutoCloseable- Specified by:
close在界面Closeable
-
ioException
public IOException ioException()
GibtIOExceptionzurück, das zuletzt durch diesesScannergeworfen wurdeReadable. Wenn keine solche Ausnahme existiert, gibt diese Methodenull。- Rückgabewert Die letzte Ausnahme des readable dieses Scanners
-
delimiter
public Pattern delimiter()
GibtPatterndasScannerzurück, das dieser Scanner derzeit zum Abgleichen von Trennzeichen verwendet.- Rückgabewert Das Trennzeichen-Muster dieses Scanners.
-
useDelimiter
public Scanner useDelimiter(Pattern pattern)
Setzt das Trennzeichen-Muster dieses Scanners auf das angegebene Muster.- Parameter
pattern-patternMuster Rückgabewert Dieser Scanner
-
useDelimiter
public Scanner useDelimiter(String pattern)
Setzt das Trennzeichen-Muster dieses Scanners auf ein Muster, das aus dem angegebenenStringkonstruiert wird. Der AufrufuseDelimiter(pattern)dieser Methode in der Form verhält sich wie der AufrufuseDelimiter(Pattern.compile(pattern))。Der Aufruf der
reset()Methode setzt das Trennzeichen des Scanners auf default .- Parameter
pattern- Der String, der das Trennzeichen-Muster angibt Rückgabewert Dieser Scanner
-
locale
public Locale locale()
Gibt das Locale dieses Scanners zurück. Das Locale des Scanners beeinflusst viele Elemente der Standard-Primitiven, die mit regulären Ausdrücken abgeglichen werden. Siehe localized numbers oben.- Rückgabewert Das Locale dieses Scanners
-
useLocale
public Scanner useLocale(Locale locale)
Setzt das Locale dieses Scanners auf das angegebene Locale. Das Locale des Scanners beeinflusst viele Elemente der Standard-Primitiven, die mit regulären Ausdrücken abgeglichen werden. Siehe oben unter localized numbers.Der Aufruf der
reset()Methode setzt das Locale des Scanners auf initial locale.- Parameter
locale- Ein String, der das zu verwendende Locale angibt. Rückgabewert Dieser Scanner
-
radix
public int radix()
Gibt die Standard-Basis dieses Scanners zurück. Die Basis des Scanners beeinflusst die Standard-Zahlelemente, die mit regulären Ausdrücken abgeglichen werden. Siehe oben unter localized numbers.- Rückgabewert Die Standard-Basis dieses Scanners
-
useRadix
public Scanner useRadix(int radix)
Setzt die Standard-Basis dieses Scanners auf die angegebene Basis. Die Basis des Scanners beeinflusst die Standard-Zahlelemente, die mit regulären Ausdrücken abgeglichen werden. Siehe oben unter localized numbers.Wenn die Basis kleiner als
Character.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。Der Aufruf der
reset()Methode setzt die Basis des Scanners auf10。- Parameter
radix- Die Basis, die beim Scannen von Zahlen verwendet wird. Rückgabewert Dieser Scanner. AusnahmeIllegalArgumentException- Wenn die Basis außerhalb des gültigen Bereichs liegt
-
match
public MatchResult match()
Gibt das Übereinstimmungsergebnis des letzten Scanvorgangs dieses Scanners zurück. Wenn kein Abgleich durchgeführt wurde oder der letzte AbgleichIllegalStateExceptionwar, löst diese MethodeIllegalStateExceptionaus. Verschiedenenext的方法Scannerstellen das Übereinstimmungsergebnis bereit, wenn sie ohne Ausnahme abgeschlossen werden. Zum Beispiel gibt diese Methode nach dem Aufruf einernextInt()Methode, die ein int zurückgibt,MatchResultzurück, um den oben definierten Integer-Regular-Ausdruck zu suchen. Ebenso liefernfindInLine(),findWithinHorizon()undskip()ein Übereinstimmungsergebnis, wenn sie erfolgreich sind.- Rückgabewert Das Übereinstimmungsergebnis der letzten Abgleich-Operation. Ausnahme
IllegalStateException- Wenn kein Übereinstimmungsergebnis verfügbar ist
-
toString
public String toString()
Gibt die String-Darstellung dieses
Scanner的字符串表示Scannerzurück.Scanner的字符串表示Scannerenthält Informationen, die beim Debuggen nützlich sind. Das genaue Format ist nicht spezifiziert.
-
hasNext
public boolean hasNext()
Gibt true zurück, wenn ein weiteres Token in der Eingabe dieses Scanners vorhanden ist. Diese Methode kann beim Warten auf die Eingabescan blockieren. Der Scanner überschreitet keine Eingabe.- Specified by:
hasNext,SchnittstelleIterator<String>- Ergebnis Gibt true zurück, wenn und nur wenn dieser Scanner ein weiteres Token hat Ausnahme
IllegalStateException- wenn dieser Scanner geschlossen ist Siehe auch:Iterator
-
next
public String next()
Sucht das nächste vollständige Token von diesem Scanner und gibt es zurück. Vor und nach dem vollständigen Token steht Eingabe, die dem Trennzeichenmuster entspricht. Auch wenn ein vorheriger Aufruf vonhasNext()返回truekann diese Methode beim Warten auf die Eingabescantrue。- Specified by:
nextSchnittstelleIterator<String>- Ergebnis Das nächste Token Ausnahme
NoSuchElementException- wenn keine weiteren Token verfügbar sindIllegalStateException- wenn dieser Scanner geschlossen ist Siehe auch:Iterator
-
remove
public void remove()
IteratorDiese Implementierung von unterstützt den Entfernungsvorgang nicht.- Specified by:
remove在界面Iterator<String>- Ausnahme
UnsupportedOperationException- wenn diese Methode aufgerufen wird. Siehe auch:Iterator
-
hasNext
public boolean hasNext(String pattern)
Gibt true zurück, wenn das nächste Token mit dem aus dem angegebenen String konstruierten Muster übereinstimmt. Der Scanner überschreitet keine Eingabe. Der Aufruf dieser Methode in der FormhasNext(pattern)verhält sich wie der Aufruf vonhasNext(Pattern.compile(pattern))。- Parameter
pattern- Ein String, der das zu scannende Muster angibt Ergebnis Gibt true zurück, wenn und nur wenn dieser Scanner ein weiteres Token hat, das dem angegebenen Muster entspricht AusnahmeIllegalStateException- wenn dieser Scanner geschlossen ist
-
next
public String next(String pattern)
Gibt das nächste Token zurück, wenn es mit dem aus dem angegebenen String konstruierten Muster übereinstimmt. Bei erfolgreichem Abgleich überschreitet der Scanner die Eingabe, die dem Muster entspricht. Der Aufruf dieser Methode in der Formnext(pattern)verhält sich wie der Aufruf vonnext(Pattern.compile(pattern))方式next(Pattern.compile(pattern))。- Parameter
pattern- Ein String, der das zu scannende Muster angibt Ergebnis Das nächste Token AusnahmeNoSuchElementException- wenn kein solches Token verfügbar istIllegalStateException- wenn dieser Scanner geschlossen ist
-
hasNext
public boolean hasNext(Pattern pattern)
Gibt true zurück, wenn das nächste vollständige Token dem angegebenen Muster entspricht. Ein vollständiges Token ist ein Präfix, dessen Suffix zur Eingabe passt, die dem Trennzeichenmuster entspricht. Diese Methode kann beim Warten auf Eingabe blockieren. Der Scanner überspringt keine Eingabe.- Parameter
pattern- das zu scannende Muster Rückgabewert Gibt true zurück, wenn und nur wenn dieser Scanner ein weiteres Token hat, das dem angegebenen Muster entspricht AusnahmeIllegalStateException- wenn dieser Scanner geschlossen ist
-
next
public String next(Pattern pattern)
Gibt das nächste Token zurück, wenn es dem angegebenen Muster entspricht. Auch wenn ein vorheriger Aufruf vonhasNext(Pattern)返回truekann diese Methode beim Warten auf Eingabe blockierentrue. Bei erfolgreicher Übereinstimmung überspringt der Scanner die Eingabe, die dem Muster entspricht.- Parameter
pattern- das zu scannende Muster Rückgabewert das nächste Token AusnahmeNoSuchElementException- wenn keine weiteren Tokens verfügbar sindIllegalStateException- wenn dieser Scanner geschlossen ist
-
hasNextLine
public boolean hasNextLine()
Gibt true zurück, wenn eine weitere Zeile in der Eingabe dieses Scanners vorhanden ist. Diese Methode kann beim Warten auf Eingabe blockieren. Der Scanner überspringt keine Eingabe.- Rückgabewert true, wenn und nur wenn dieser Scanner eine weitere Eingabezeile hat Ausnahme
IllegalStateException- wenn dieser Scanner geschlossen ist
-
nextLine
public String nextLine()
Rückt diesen Scanner über die aktuelle Zeile vor und gibt die übersprungene Eingabe zurück. Diese Methode gibt den Rest der aktuellen Zeile zurück, ohne einen Zeilentrenner am Ende. Die Position wird auf den Anfang der nächsten Zeile gesetzt. Da diese Methode die Eingabe weiter nach einem Zeilentrenner durchsucht, puffert sie alle Eingaben für die zu überspringende Zeile, wenn kein Zeilentrenner vorhanden ist.- Rückgabewert die übersprungene Zeile Ausnahme
NoSuchElementException- wenn keine Zeile gefunden wurdeIllegalStateException- wenn dieser Scanner geschlossen ist
-
findInLine
public String findInLine(String pattern)
Versucht, das nächste Muster zu finden, das aus dem angegebenen String konstruiert wird, und ignoriert dabei Trennzeichen. Der Aufruf dieser Methode in der FormfindInLine(pattern)verhält sich wie der Aufruf vonfindInLine(Pattern.compile(pattern))。- Parameter
pattern- der String, der das zu durchsuchende Muster angibt Rückgabewert der Text, der dem angegebenen Muster entspricht AusnahmeIllegalStateException- wenn dieser Scanner geschlossen ist
-
findInLine
public String findInLine(Pattern pattern)
Versucht, das nächste Vorkommen des angegebenen Musters zu finden und ignoriert dabei Trennzeichen. Wird das Muster vor dem nächsten Zeilentrenner gefunden, überspringt der Scanner die passende Eingabe und gibt den String zurück, der dem Muster entspricht. Wird kein solches Muster in der Eingabe bis zum nächsten Zeilentrenner erkannt, gibt die Methodenullzurück, und die Position des Scanners bleibt unverändert. Diese Methode kann beim Warten auf Eingabe blockieren, die dem Muster entspricht. Da diese Methode die Eingabe weiter nach dem angegebenen Muster durchsucht, puffert sie alle Eingaben für das gesuchte Token, wenn kein Zeilentrenner vorhanden ist.- Parameter
pattern- das zu scannende Muster Rückgabewert der Text, der dem angegebenen Muster entspricht AusnahmeIllegalStateException- wenn dieser Scanner geschlossen ist
-
findWithinHorizon
public String findWithinHorizon(String pattern, int horizon)
Versucht, das nächste Muster zu finden, das aus dem angegebenen String konstruiert wird, und ignoriert dabei Trennzeichen. Der Aufruf dieser Methode in der FormfindWithinHorizon(pattern)verhält sich wie der Aufruf vonfindWithinHorizon(Pattern.compile(pattern), horizon)。- Parameter
pattern- Ein String, der das zu durchsuchende Muster angibthorizon- Suchbereich Rückgabe Der Text, der zum angegebenen Muster passt AusnahmeIllegalStateException- Wenn dieser Scanner bereits geschlossen istIllegalArgumentException- Wenn der Horizont negativ ist
-
findWithinHorizon
public String findWithinHorizon(Pattern pattern, int horizon)
Versucht, die nächste Übereinstimmung mit dem angegebenen Muster zu finden. Diese Methode durchsucht die Eingabe bis zum angegebenen Suchbereich und ignoriert dabei Trennzeichen. Wird das Muster gefunden, setzt der Scanner die Eingabe hinter die Übereinstimmung und gibt den passenden String zurück. Wird kein solches Muster erkannt, gibt die Methode null zurück und die Position des Scanners bleibt unverändert. Diese Methode kann blockieren, während sie auf passende Eingabe wartet.Der Scanner durchsucht nie mehr Codepunkte,
horizonals seiner aktuellen Position entsprechen. Beachten Sie, dass eine Übereinstimmung durch den Horizont begrenzt sein kann. Das heißt, bei einem größeren Horizont kann sich das Ergebnis einer Übereinstimmung ändern. Der Scanner behandelt den Horizont als transparente, nicht verankerte Grenze (sieheMatcher.useTransparentBounds(boolean)undMatcher.useAnchoringBounds(boolean)).Wenn der Horizont
0ist, wird er ignoriert. Die Methode durchsucht dann die Eingabe unbegrenzt nach dem angegebenen Muster. In diesem Fall kann sie die gesamte Eingabe für die Suche nach dem Muster puffern.Wenn der Horizont negativ ist, wird eine IllegalArgumentException ausgelöst.
- Parameter
pattern- Das zu scannende Musterhorizon- Suchbereich Rückgabe Der Text, der zum angegebenen Muster passt AusnahmeIllegalStateException- Wenn dieser Scanner bereits geschlossen istIllegalArgumentException- Wenn der Horizont negativ ist
-
skip
public Scanner skip(Pattern pattern)
Überspringt Eingabe, die zum angegebenen Muster passt, und ignoriert dabei Trennzeichen. Die Methode überspringt die Eingabe, wenn eine verankerte Übereinstimmung mit dem angegebenen Muster erfolgreich ist. Findet sich an der aktuellen Position keine Übereinstimmung mit dem Muster, wird keine Eingabe übersprungen und eineNoSuchElementException。Da diese Methode das Muster ab der aktuellen Position des Scanners abgleicht, kann ein Muster mit vielen möglichen Übereinstimmungen (zum Beispiel „.*") den Scanner viel Eingabe puffern lassen.
Beachten Sie, dass Sie mit einem Muster, das nie passt (zum Beispiel
sc.skip("[ \t]*")etwas überspringen, ohne das Risiko einesNoSuchElementExceptioneinzugehen.- Parameter
pattern- Ein String, der das zu überspringende Muster angibt Rückgabe Dieser Scanner AusnahmeNoSuchElementException- Wenn das angegebene Muster nicht gefunden wirdIllegalStateException- Wenn dieser Scanner bereits geschlossen ist
-
skip
public Scanner skip(String pattern)
Überspringt Eingabe, die zum aus dem angegebenen String konstruierten Muster passt. Der Aufrufskip(pattern)dieser Methode verhält sich wie der Aufrufskip(Pattern.compile(pattern))方式skip(Pattern.compile(pattern))。- Parameter
pattern- Ein String, der das zu überspringende Muster angibt Rückgabe Dieser Scanner AusnahmeIllegalStateException- Wenn dieser Scanner bereits geschlossen ist
-
hasNextBoolean
public boolean hasNextBoolean()
Die Methode gibt true zurück, wenn der nächste Token in der Eingabe dieses Scanners als boolescher Wert interpretiert werden kann. Der Scanner überschreitet die passende Eingabe nicht.- Der Rückgabewert ist true, wenn und nur wenn das nächste Token dieses Scanners ein gültiger boolescher Wert ist. Ausnahme
IllegalStateException- Wenn dieser Scanner ausgeschaltet ist
-
nextBoolean
public boolean nextBoolean()
Scannt das nächste Eingabe-Token als booleschen Wert und gibt diesen zurück. Wenn sich das nächste Token nicht in einen gültigen booleschen Wert umwandeln lässt, wirft diese MethodeInputMismatchException. Bei erfolgreichem Abgleich überspringt der Scanner die abgeglichenen Eingaben.- Ergebnis Der aus der Eingabe gescannte boolesche Wert Ausnahme
InputMismatchException- Wenn das nächste Token kein gültiger boolescher Wert istNoSuchElementException- Wenn die Eingabe aufgebraucht istIllegalStateException- Wenn dieser Scanner ausgeschaltet ist
-
hasNextByte
public boolean hasNextByte()
Wenn der ScannernextByte()Methode das nächste Token in der Eingabe als Byte-Wert zur Standardbasis interpretiert, gibt sie true zurück. Der Scanner überspringt keine Eingabe.- Der Rückgabewert ist true, genau dann wenn das nächste Token dieses Scanners ein gültiger Byte-Wert ist. Ausnahme
IllegalStateException- wenn dieser Scanner bereits geschlossen ist
-
hasNextByte
public boolean hasNextByte(int radix)
Wenn der ScannernextByte()Methode das nächste Token in der Eingabe als Byte-Wert zur angegebenen Basis interpretiert, gibt sie true zurück. Der Scanner überspringt keine Eingabe. Wenn die Basis kleiner alsCharacter.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- Basis zum Interpretieren des Tokens als Bytewert Ergebnis true, wenn und nur wenn das nächste Token dieses Scanners ein gültiger Bytewert ist AusnahmeIllegalStateException- wenn dieser Scanner bereits geschlossen istIllegalArgumentException- wenn die Basis außerhalb des gültigen Bereichs liegt
-
nextByte
public byte nextByte()
Scannt das nächste Token der Eingabe alsbyte. Der AufrufnextByte()dieser Methode verhält sich wie der AufrufnextByte(radix),其中radixist die Standardeinstellung für diesen Scanner.- Ergebnis
byteScannt die Eingabe. AusnahmeInputMismatchException- wenn das nächste Token nicht dem Integer-Regular-Expression-Muster entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen ist
-
nextByte
public byte nextByte(int radix)
Scannt das nächste Token der Eingabe alsbyte. Wenn das nächste Token nicht in einen gültigen Byte-Wert konvertiert werden kann, wirft diese Methode eineInputMismatchException, wie unten beschrieben. Bei erfolgreicher Konvertierung überspringt der Scanner die passende Eingabe. Wenn das nächste Token dem oben definierten Integer-Regular-Expression-Muster entspricht, wird das Token konvertiertbyteDer Wert wird so behandelt, als würden alle gebietsschemaspezifischen Präfixe, Gruppentrennzeichen und gebietsschemaspezifischen Suffixe entfernt. AnschließendCharacter.digitwerden Nicht-ASCII-Ziffern auf ASCII-Ziffern abgebildet. Falls ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden ist, wird das Minuszeichen ( - ) an die Methode mit der angegebenen Basis übergebenByte.parseByte.Wenn die Basis kleiner
Character.MIN_RADIXoder größerCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- die Basis, mit der das Token als Bytewert interpretiert wird Rückgabewert aus der Eingabe gescanntbyte- Ausnahmen
InputMismatchException- wenn das nächste Token nicht dem Ganzzahl-Regex entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen istIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
hasNextShort
public boolean hasNextShort()
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextShort()Methode als short-Wert in der Standardbasis interpretiert werden kann. Der Scanner überspringt keine Eingabe.- Rückgabewert true genau dann, wenn das nächste Token dieses Scanners ein gültiger short-Wert in der Standardbasis ist Ausnahmen
IllegalStateException- wenn dieser Scanner geschlossen ist
-
hasNextShort
public boolean hasNextShort(int radix)
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextShort()Methode als short-Wert in der angegebenen Basis interpretiert werden kann. Der Scanner überspringt keine Eingabe. Wenn die Basis kleinerCharacter.MIN_RADIXoder größerCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- die Basis, mit der das Token als short-Wert interpretiert wird Rückgabewert true genau dann, wenn das nächste Token dieses Scanners ein gültiger short-Wert in der angegebenen Basis ist AusnahmenIllegalStateException- wenn dieser Scanner geschlossen istIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
nextShort
public short nextShort()
Scannt das nächste Token der Eingabe alsshort. Der Aufruf dieser Methode in der FormnextShort()verhält sich genau wie der AufrufnextShort(radix), wobeiradixdie Standardbasis dieses Scanners ist.- Rückgabewert aus der Eingabe gescannt
short- Ausnahmen
InputMismatchException- wenn das nächste Token nicht dem Ganzzahl-Regex entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen ist
-
nextShort
public short nextShort(int radix)
Scannt das nächste Token der Eingabe alsshort. Wenn das nächste Token nicht in einen gültigen short-Wert konvertiert werden kann, wirft diese Methode eineInputMismatchException, wie unten beschrieben. Bei erfolgreicher Übersetzung überschreitet der Scanner die passende Eingabe. Wenn das nächste Token dem oben definierten Integer-Regularausdruck entspricht, wird das Token in einenshort-Wert konvertiert. Dies geschieht, indem alle gebietsschemaspezifischen Präfixe, Gruppentrenner und gebietsschemaspezifischen Suffixe entfernt werden. Danach werden mitCharacter.digitnicht-ASCII-Ziffern auf ASCII-Ziffern abgebildet. Falls ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden ist, wird das Minuszeichen (-) anShort.parseShortmit der angegebenen Basis übergeben.Wenn die Basis kleiner als
Character.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- die Basis, mit der das Token als short-Wert interpretiert wird Rückgabewertshortdas aus der Eingabe gescannte Ergebnis AusnahmenInputMismatchException- wenn das nächste Token nicht dem Integer-Regularausdruck entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner bereits geschlossen istIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
hasNextInt
public boolean hasNextInt()
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit der MethodenextInt()als int-Wert in der Standardbasis interpretiert werden kann. Der Scanner überschreitet keine Eingabe.- Rückgabewert Gibt true zurück, genau dann wenn das nächste Token dieses Scanners ein gültiger int-Wert ist Ausnahmen
IllegalStateException- wenn dieser Scanner bereits geschlossen ist
-
hasNextInt
public boolean hasNextInt(int radix)
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit der MethodenextInt()als int-Wert in der angegebenen Basis interpretiert werden kann. Der Scanner überschreitet keine Eingabe. Wenn die Basis kleiner alsCharacter.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- die Basis, mit der das Token als int-Wert interpretiert wird Rückgabewert Gibt true zurück, genau dann wenn das nächste Token dieses Scanners ein gültiger int-Wert ist AusnahmenIllegalStateException- wenn dieser Scanner bereits geschlossen istIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
nextInt
public int nextInt()
Scannt das nächste Token der Eingabe alsint. Der Aufruf dieser Methode in der FormnextInt()verhält sich wie der Aufruf vonnextInt(radix),其中radixdie Standardbasis dieses Scanners ist.- Rückgabewert
intScannt die Eingabe nach einer AusnahmeInputMismatchException- Wenn das nächste Token nicht mit dem Integer-Regularausdruck übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- Wenn die Eingabe erschöpft istIllegalStateException- Wenn dieser Scanner geschlossen ist
-
nextInt
public int nextInt(int radix)
Scannt das nächste Token der Eingabe alsint. Wenn das nächste Token nicht in einen gültigen int-Wert konvertiert werden kann, wirft diese MethodeInputMismatchExceptionwie unten beschrieben. Bei erfolgreicher Übersetzung überschreitet der Scanner die passende Eingabe. Wenn das nächste Token mit dem oben definierten Integer-Regularausdruck übereinstimmt, wird das Token in einenintWert konvertiert, indem alle gebietsschemaspezifischen Präfixe, Gruppentrenner und gebietsschemaspezifischen Suffixe entfernt werden. Danach werden mitCharacter.digitnicht-ASCII-Ziffern auf ASCII-Ziffern abgebildet. Falls ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden sind, wird ein Minuszeichen ( - ) vorangestellt. Der Ergebnisstring wird mit der angegebenen Basis anInteger.parseIntübergeben.Wenn die Basis kleiner als
Character.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- Die Basis, mit der das Token als int-Wert interpretiert wird RückgabewertintScannt die Eingabe nach einer AusnahmeInputMismatchException- Wenn das nächste Token nicht mit dem Integer-Regularausdruck übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- Wenn die Eingabe erschöpft istIllegalStateException- Wenn dieser Scanner geschlossen istIllegalArgumentException- Wenn die Basis außerhalb des Bereichs liegt
-
hasNextLong
public boolean hasNextLong()
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextLong()Methode als long-Wert in der Standardbasis interpretiert werden kann. Der Scanner überschreitet keine Eingabe.- Rückgabewert true, wenn und nur wenn das nächste Token dieses Scanners ein gültiger long-Wert ist Ausnahme
IllegalStateException- Wenn dieser Scanner geschlossen ist
-
hasNextLong
public boolean hasNextLong(int radix)
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextLong()Methode als long-Wert in der angegebenen Basis interpretiert werden kann. Der Scanner überschreitet keine Eingabe. Wenn die Basis kleiner alsCharacter.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- Die Basis, mit der das Token als long-Wert interpretiert wird Rückgabewert true, wenn und nur wenn das nächste Token dieses Scanners ein gültiger long-Wert ist AusnahmeIllegalStateException- Wenn dieser Scanner geschlossen istIllegalArgumentException- Wenn die Basis außerhalb des Bereichs liegt
-
nextLong
public long nextLong()
Scannt das nächste Token der Eingabe alslong. AufrufnextLong()Das Verhalten dieser Methode in dieser Form entspricht dem Aufruf vonnextLong(radix),其中radixder Standardradix dieses Scanners ist.- Rückgabewert
longLiest aus der Eingabe. AusnahmeInputMismatchException- wenn das nächste Token nicht mit dem Integer-Regularausdruck übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen ist
-
nextLong
public long nextLong(int radix)
Liest das nächste Token der Eingabe alslong. Wenn das nächste Token nicht in einen gültigen long-Wert umgewandelt werden kann, wirft diese MethodeInputMismatchException, wie unten beschrieben. Bei erfolgreicher Umwandlung überspringt der Scanner die passende Eingabe. Wenn das nächste Token mit dem oben definierten Integer-Regularausdruck übereinstimmt, wird das Token in einenlong-Wert umgewandelt, indem alle gebietsschemaspezifischen Präfixe, Gruppentrennzeichen und gebietsschemaspezifischen Suffixe entfernt werden. Danach werdenCharacter.digitnicht-ASCII-Ziffern in ASCII-Ziffern umgewandelt. Falls ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden sind, wird ein Minuszeichen ( - ) vorangestellt. Die Ergebniszeichenfolge wird anLong.parseLongmit dem angegebenen Radix übergeben.Wenn der Radix kleiner als
Character.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- der Radix, mit dem das Token als int-Wert interpretiert wird. Rückgabewert Liest aus der Eingabelong- Ausnahme
InputMismatchException- wenn das nächste Token nicht mit dem Integer-Regularausdruck übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen istIllegalArgumentException- wenn der Radix außerhalb des Bereichs liegt
-
hasNextFloat
public boolean hasNextFloat()
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextFloat()Methode als Gleitkommawert interpretiert werden kann. Der Scanner überspringt keine Eingabe.- Rückgabewert Gibt true zurück, wenn und nur wenn das nächste Token dieses Scanners ein gültiger Gleitkommawert ist. Ausnahme
IllegalStateException- wenn dieser Scanner geschlossen ist
-
nextFloat
public float nextFloat()
Liest das nächste Token der Eingabe alsfloat. Wenn das nächste Token nicht in einen gültigen Gleitkommawert umgewandelt werden kann, wirft diese MethodeInputMismatchException, wie unten beschrieben. Bei erfolgreicher Umwandlung überspringt der Scanner die passende Eingabe. Wenn das nächste Token mit dem oben definierten Float-Regularausdruck übereinstimmt, wird das Token in einenfloat-Wert umgewandelt, indem alle gebietsschemaspezifischen Präfixe, Gruppentrennzeichen und gebietsschemaspezifischen Suffixe entfernt werden. Danach werdenCharacter.digitnicht-ASCII-Ziffern in ASCII-Ziffern umgewandelt. Falls ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden sind, wird ein Minuszeichen ( - ) vorangestellt. Die Ergebniszeichenfolge wird anFloat.parseFloatübergeben. Wenn das Token mit einer lokalisierten NaN- oder Infinity-Zeichenfolge übereinstimmt, wird "Nan" oder "Infinity" nach Bedarf anFloat.parseFloatübergeben.- Rückgabewert Liest aus der Eingabe
float- Ausnahme
InputMismatchException- Wenn das nächste Token nicht mit dem Float-Regular-Ausdruck übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- Wenn die Eingabe erschöpft istIllegalStateException- Wenn dieser Scanner geschlossen ist
-
hasNextDouble
public boolean hasNextDouble()
Wenn mit der MethodenextDouble()das nächste Token dieser Scannereingabe als double-Wert interpretiert wird, gibt die Methode true zurück. Der Scanner überspringt keine Eingabe.- Rückgabewert true, wenn und nur wenn das nächste Token dieses Scanners ein gültiger double-Wert ist. Ausnahme
IllegalStateException- Wenn dieser Scanner geschlossen ist
-
nextDouble
public double nextDouble()
Scannt das nächste Eingabe-Token alsdouble. Wenn das nächste Token nicht in einen gültigen double-Wert konvertiert werden kann, wirft diese Methode eineInputMismatchException. Bei erfolgreicher Übersetzung überschreitet der Scanner die passende Eingabe. Wenn das nächste Token dem oben definierten Float-Regulären Ausdruck entspricht, wird das Token in einendouble- Wert konvertiert, indem alle gebietsschemaspezifischen Präfixe, Gruppentrenner und gebietsschemaspezifischen Suffixe entfernt werden. Danach werden nicht-ASCII-Ziffern durchCharacter.digitin ASCII-Ziffern umgewandelt. Wenn ein gebietsschemaspezifisches negatives Präfix und Suffix vorhanden sind, wird das Minuszeichen ( - ) vorangestellt und anDouble.parseDoubleübergeben. Wenn das Token mit dem lokalisierten NaN- oder Infinity-String übereinstimmt, wird "Nan" oder "Infinity" je nach Bedarf anDouble.parseDoubleübergeben.- Rückgabewert die aus der Eingabe gescannten
double- Ausnahmen
InputMismatchException- wenn das nächste Token nicht dem Float-Regulären Ausdruck entspricht oder außerhalb des Bereichs liegtNoSuchElementException- Wenn die Eingabe aufgebraucht istIllegalStateException- Wenn dieser Scanner bereits geschlossen ist
-
hasNextBigInteger
public boolean hasNextBigInteger()
Wenn mit der MethodenextBigInteger()das nächste Token in der Eingabe dieses Scanners alsBigIntegerin der Standardbasis interpretiert werden kann, gibt die Methode true zurück. Der Scanner überspringt keine Eingabe.- Das Ergebnis ist true, genau dann wenn das nächste Token dieses Scanners ein gültiges
BigInteger- Ausnahmen
IllegalStateException- Wenn dieser Scanner bereits geschlossen ist
-
hasNextBigInteger
public boolean hasNextBigInteger(int radix)
Gibt true zurück, wenn das nächste Token in der Eingabe dieses ScannersnextBigInteger()Die Methode interpretiert den Wert in der angegebenen Basis.BigIntegermit der Methode in der angegebenen Basis interpretiert werden kann. Der Scanner überspringt keine Eingabe. Wenn die Basis kleiner alsCharacter.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- ausgelöst.
radixParameterBigInteger- - die Basis, mit der das Token als Ganzzahl interpretiert wird. Rückgabewert: true genau dann, wenn das nächste Token dieses Scanners ein gültiges
IllegalStateExceptionAusnahmenIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
nextBigInteger
public BigInteger nextBigInteger()
Scannt das nächste Token der Eingabe alsBigInteger. Der AufrufnextBigInteger()dieser Methode verhält sich wie der AufrufnextBigInteger(radix),其中radixdie Standardbasis dieses Scanners ist.- Rückgabewert
BigIntegerScannt aus der Eingabe. AusnahmeInputMismatchException- wenn das nächste Token nicht dem Integer-Regex entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen ist
-
nextBigInteger
public BigInteger nextBigInteger(int radix)
Scannt das nächste Token der Eingabe alsBigInteger. Wenn das nächste Token dem oben definierten Integer-Regex entspricht, wird das Token in einenBigIntegerWert umgewandelt, als ob alle Gruppentrenner entfernt, nicht-ASCII-Ziffern durchCharacter.digitin ASCII-Ziffern umgewandelt und die resultierende Zeichenfolge an denBigInteger(String, int)Konstruktor mit der angegebenen Basis übergeben würde.Wenn die Basis kleiner als
Character.MIN_RADIXoder größer alsCharacter.MAX_RADIX,则抛出IllegalArgumentException。- Parameter
radix- die Basis zur Interpretation des Tokens. Rückgabewert: Aus der Eingabe gescanntBigInteger- Ausnahme
InputMismatchException- wenn das nächste Token nicht dem Integer-Regex entspricht oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner geschlossen istIllegalArgumentException- wenn die Basis außerhalb des Bereichs liegt
-
hasNextBigDecimal
public boolean hasNextBigDecimal()
Gibt true zurück, wenn das nächste Token in der Eingabe dieses Scanners mit dernextBigDecimal()Methode alsBigDecimalinterpretiert werden kann. Der Scanner überschreitet keine Eingabe.- Rückgabewert: true genau dann, wenn das nächste Token dieses Scanners ein gültiger
BigDecimal- Ausnahme
IllegalStateException- wenn dieser Scanner geschlossen ist
-
nextBigDecimal
public BigDecimal nextBigDecimal()
Scannt das nächste Token der Eingabe alsBigDecimal. Wenn das nächste Token dem oben definierten Decimal-Regex entspricht, wird das Token in einenBigDecimalWert umgewandelt, als ob alle Gruppentrenner entfernt, durchCharacter.digitOrdnet Nicht-ASCII-Ziffern ASCII-Ziffern zu und übergibt den Ergebnis-String an denBigDecimal(String)Konstruktor.- 结果
-
从输入扫描
BigDecimal - Ausnahmen
InputMismatchException- wenn das nächste Token nicht mit dem regulären Ausdruck für Dezimalzahlen übereinstimmt oder außerhalb des Bereichs liegtNoSuchElementException- wenn die Eingabe erschöpft istIllegalStateException- wenn dieser Scanner bereits geschlossen ist
-
reset
public Scanner reset()
Setzt diesen Scanner zurück. Das Zurücksetzen verwirft alle expliziten Zustandsinformationen, die durch Aufrufe vonuseDelimiter(),useLocale()oderuseRadix()geändert wurden.Der Aufruf dieser Methode in der Form
scanner.reset()verhält sich genau wie der Aufruf vonscanner.useDelimiter("\\p{javaWhitespace}+") .useLocale(Locale.getDefault(Locale.Category.FORMAT)) .useRadix(10);- Rückgabewert dieser Scanner Seit: 1.6
-
tokens
public Stream<String> tokens()
Gibt einen Strom von durch Trennzeichen getrennten Tokens dieses Scanners zurück. Der Strom enthält dieselben Tokens, die ab dem aktuellen Zustand dieses Scanners zurückgegeben werden, wenn die Methodenext()wiederholt aufgerufen wird, bis die MethodehasNext()false zurückgibt. Der erzeugte Strom ist sequenziell und geordnet. Alle Stromelemente sind nicht null.Das Scannen beginnt mit dem aktuellen Zustand des Scanners beim Start einer terminalen Stromoperation. Nachfolgende Aufrufe beliebiger Methoden dieses Scanners außer
close()undioException()können undefinierte Ergebnisse liefern oder unbestimmte Auswirkungen auf den zurückgegebenen Strom haben. Die Quelle des zurückgegebenen StromsSpliteratorist fail-fast und wirft nach bestem Bemühen eineConcurrentModificationExceptionwenn während der Ausführung der Strompipeline ein solcher Aufruf erkannt wird.Nach Abschluss der Strompipeline befindet sich dieser Scanner in einem unbestimmten Zustand und ist nicht wiederverwendbar.
Wenn dieser Scanner Ressourcen enthält, die freigegeben werden müssen, muss er durch Aufruf seiner Methode
close()oder durch Schließen des zurückgegebenen Stroms geschlossen werden. Das Schließen des Stroms schließt den zugrunde liegenden Scanner. Wenn der Scanner beim Aufruf dieser Methode bereits geschlossen ist oder während der Ausführung der Strompipeline geschlossen wird, wird eineIllegalStateException。Diese Methode blockiert möglicherweise beim Warten auf weitere Eingaben.
- API-Hinweis: Der folgende Code erzeugt beispielsweise aus einem String eine Liste von durch Kommas getrennten Tokens:
List<String> result = new Scanner("abc,def,,ghi") .useDelimiter(",") .tokens() .collect(Collectors.toList());Die Ergebnisliste enthält
"abc","def"den leeren String und"ghi"。- Rückgabewert ein sequenzieller Strom von Token-Strings Ausnahmen
IllegalStateException- wenn dieser Scanner bereits geschlossen ist Seit: 9
-
findAll
public Stream<MatchResult> findAll(Pattern pattern)
Gibt einen Strom von Übereinstimmungsergebnissen dieses Scanners zurück. Der Strom enthält dieselben Ergebnisse in derselben Reihenfolge, solangefindWithinHorizon()Übereinstimmungen findet, durch Aufruf vonfindWithinHorizon(pattern, 0)undmatch()Gibt zurück. Der erzeugte Stream ist sequenziell und geordnet. Alle Stream-Elemente sind nicht null.Der Scan beginnt mit dem aktuellen Zustand dieses Scanners beim Start der terminalen Stream-Operation. Nachfolgende Aufrufe
close()vonioException()undSpliteratorjeder anderen Methode dieses Scanners liefern möglicherweise undefinierte Ergebnisse oder beeinflussen den zurückgegebenen Stream undefiniert. Die Quelle des zurückgegebenen Streams ist fail-fast und wirft nach bestem BemühenConcurrentModificationExceptioneine Ausnahme, wenn ein solcher Aufruf während der Ausführung der Stream-Pipeline erkannt wird.Nach Abschluss der Stream-Pipeline befindet sich dieser Scanner in einem unbestimmten Zustand und ist nicht wiederverwendbar.
Wenn dieser Scanner Ressourcen enthält, die freigegeben werden müssen, schließen Sie ihn durch Aufruf seiner
close()Methode oder durch Schließen des zurückgegebenen Streams. Das Schließen des Streams schließt den zugrunde liegenden Scanner. Wenn der Scanner beim Aufruf dieser Methode bereits geschlossen ist oder während der Ausführung der Stream-Pipeline geschlossen wird, wirdIllegalStateException。Wie bei der Methode
findWithinHorizon()kann diese Methode auf weitere Eingaben warten und eine unbegrenzte Menge an Eingaben für die Suche nach Übereinstimmungen puffern.- API-Hinweis: Der folgende Code liest beispielsweise eine Datei und gibt eine Liste aller Zeichenfolgen zurück, die aus sieben oder mehr lateinischen Großbuchstaben bestehen:
try (Scanner sc = new Scanner(Path.of("input.txt"))) { Pattern pat = Pattern.compile("[A-Z]{7,}"); List<String> capWords = sc.findAll(pat) .map(MatchResult::group) .collect(Collectors.toList()); }- Parameter
pattern- das zu matchende Muster Rückgabewert ein Stream aufeinanderfolgender Übereinstimmungsergebnisse AusnahmeNullPointerException- wenn pattern null istIllegalStateException- wenn dieser Scanner geschlossen ist Seit Version: 9
-
findAll
public Stream<MatchResult> findAll(String patString)
Gibt einen Stream von Übereinstimmungsergebnissen zurück, die mit der angegebenen Musterzeichenfolge übereinstimmen. Der Effekt entspricht dem folgenden Code:scanner.findAll(Pattern.compile(patString))- Parameter
patString- die Musterzeichenfolge Rückgabewert ein Stream aufeinanderfolgender Übereinstimmungsergebnisse AusnahmeNullPointerException- wenn patString null istIllegalStateException- wenn dieser Scanner geschlossen istPatternSyntaxException- wenn die Syntax des regulären Ausdrucks ungültig ist Seit Version: 9 Siehe auch:Pattern
-
-