public final class

Scanner

extends Object
implements Iterator<E>
java.lang.Object
   ↳ java.util.Scanner

Class Overview

A parser that parses a text string of primitive types and strings with the help of regular expressions. It supports localized numbers and various radixes. The input is broken into tokens by the delimiter pattern, which is whitespace by default. The primitive types can be obtained via corresponding next* methods. If the token is not in a valid format, an InputMismatchException is thrown.

For example:

 Scanner s = new Scanner("1A true");
 System.out.println(s.nextInt(16));
 System.out.println(s.nextBoolean());
 

Yields the result: 26 true

A Scanner can also find or skip specific patterns without regard for the delimiter. All these methods and the various next* and hasNext* methods may block.

The Scanner class is not thread-safe.

Summary

Public Constructors
Scanner(File src)
Creates a Scanner with the specified File as input.
Scanner(File src, String charsetName)
Creates a Scanner with the specified File as input.
Scanner(String src)
Creates a Scanner on the specified string.
Scanner(InputStream src)
Creates a Scanner on the specified InputStream.
Scanner(InputStream src, String charsetName)
Creates a Scanner on the specified InputStream.
Scanner(Readable src)
Creates a Scanner with the specified Readable as input.
Scanner(ReadableByteChannel src)
Creates a Scanner with the specified ReadableByteChannel as input.
Scanner(ReadableByteChannel src, String charsetName)
Creates a Scanner with the specified ReadableByteChannel as input.
Public Methods
void close()
Closes this Scanner and the underlying input if the input implements Closeable.
Pattern delimiter()
Returns the delimiter Pattern in use by this Scanner.
String findInLine(String pattern)
Compiles the pattern string and tries to find a substing matching it in the input data.
String findInLine(Pattern pattern)
Tries to find the pattern in the input.
String findWithinHorizon(Pattern pattern, int horizon)
Tries to find the pattern in the input between the current position and the specified horizon.
String findWithinHorizon(String pattern, int horizon)
Tries to find the pattern in the input between the current position and the specified horizon.
boolean hasNext()
Returns whether this Scanner has one or more tokens remaining to parse.
boolean hasNext(String pattern)
Returns true if this Scanner has one or more tokens remaining to parse and the next token matches a pattern compiled from the given string.
boolean hasNext(Pattern pattern)
Returns whether this Scanner has one or more tokens remaining to parse and the next token matches the given pattern.
boolean hasNextBigDecimal()
Returns whether the next token can be translated into a valid BigDecimal.
boolean hasNextBigInteger(int radix)
Returns whether the next token can be translated into a valid BigInteger in the specified radix.
boolean hasNextBigInteger()
Returns whether the next token can be translated into a valid BigInteger in the default radix.
boolean hasNextBoolean()
Returns whether the next token can be translated into a valid boolean value.
boolean hasNextByte()
Returns whether the next token can be translated into a valid byte value in the default radix.
boolean hasNextByte(int radix)
Returns whether the next token can be translated into a valid byte value in the specified radix.
boolean hasNextDouble()
Returns whether the next token translated into a valid double value.
boolean hasNextFloat()
Returns whether the next token can be translated into a valid float value.
boolean hasNextInt(int radix)
Returns whether the next token can be translated into a valid int value in the specified radix.
boolean hasNextInt()
Returns whether the next token can be translated into a valid int value in the default radix.
boolean hasNextLine()
Returns whether there is a line terminator in the input.
boolean hasNextLong(int radix)
Returns whether the next token can be translated into a valid long value in the specified radix.
boolean hasNextLong()
Returns whether the next token can be translated into a valid long value in the default radix.
boolean hasNextShort(int radix)
Returns whether the next token can be translated into a valid short value in the specified radix.
boolean hasNextShort()
Returns whether the next token can be translated into a valid short value in the default radix.
IOException ioException()
Returns the last IOException that was raised while reading from the underlying input.
Locale locale()
Return the Locale of this Scanner.
MatchResult match()
Returns the result of the last matching operation.
String next()
Returns the next token.
String next(Pattern pattern)
Returns the next token if it matches the specified pattern.
String next(String pattern)
Returns the next token if it matches the specified pattern.
BigDecimal nextBigDecimal()
Returns the next token as a BigDecimal.
BigInteger nextBigInteger(int radix)
Returns the next token as a BigInteger with the specified radix.
BigInteger nextBigInteger()
Returns the next token as a BigInteger.
boolean nextBoolean()
Returns the next token as a boolean.
byte nextByte()
Returns the next token as a byte.
byte nextByte(int radix)
Returns the next token as a byte with the specified radix.
double nextDouble()
Returns the next token as a double.
float nextFloat()
Returns the next token as a float.
int nextInt(int radix)
Returns the next token as an int with the specified radix.
int nextInt()
Returns the next token as an int.
String nextLine()
Returns the skipped input and advances the Scanner to the beginning of the next line.
long nextLong(int radix)
Returns the next token as a long with the specified radix.
long nextLong()
Returns the next token as a long.
short nextShort(int radix)
Returns the next token as a short with the specified radix.
short nextShort()
Returns the next token as a short.
int radix()
Return the radix of this Scanner.
void remove()
Remove is not a supported operation on Scanner.
Scanner reset()
Resets this scanner's delimiter, locale, and radix.
Scanner skip(String pattern)
Tries to use the specified string to construct a pattern and then uses the constructed pattern to match input starting from the current position.
Scanner skip(Pattern pattern)
Tries to use specified pattern to match input starting from the current position.
String toString()
Returns a string representation of this Scanner.
Scanner useDelimiter(String pattern)
Sets the delimiting pattern of this Scanner with a pattern compiled from the supplied string value.
Scanner useDelimiter(Pattern pattern)
Sets the delimiting pattern of this Scanner.
Scanner useLocale(Locale l)
Sets the Locale of this Scanner to a specified Locale.
Scanner useRadix(int radix)
Sets the radix of this Scanner to the specified radix.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.util.Iterator

Public Constructors

public Scanner (File src)

Since: API Level 1

Creates a Scanner with the specified File as input. The default charset is applied when reading the file.

Parameters
src the file to be scanned.
Throws
FileNotFoundException if the specified file does not exist.

public Scanner (File src, String charsetName)

Since: API Level 1

Creates a Scanner with the specified File as input. The specified charset is applied when reading the file.

Parameters
src the file to be scanned.
charsetName the name of the encoding type of the file.
Throws
FileNotFoundException if the specified file does not exist.
IllegalArgumentException if the specified coding does not exist.

public Scanner (String src)

Since: API Level 1

Creates a Scanner on the specified string.

Parameters
src the string to be scanned.

public Scanner (InputStream src)

Since: API Level 1

Creates a Scanner on the specified InputStream. The default charset is applied when decoding the input.

Parameters
src the InputStream to be scanned.

public Scanner (InputStream src, String charsetName)

Since: API Level 1

Creates a Scanner on the specified InputStream. The specified charset is applied when decoding the input.

Parameters
src the InputStream to be scanned.
charsetName the encoding type of the InputStream.
Throws
IllegalArgumentException if the specified character set is not found.

public Scanner (Readable src)

Since: API Level 1

Creates a Scanner with the specified Readable as input.

Parameters
src the Readable to be scanned.

public Scanner (ReadableByteChannel src)

Since: API Level 1

Creates a Scanner with the specified ReadableByteChannel as input. The default charset is applied when decoding the input.

Parameters
src the ReadableByteChannel to be scanned.

public Scanner (ReadableByteChannel src, String charsetName)

Since: API Level 1

Creates a Scanner with the specified ReadableByteChannel as input. The specified charset is applied when decoding the input.

Parameters
src the ReadableByteChannel to be scanned.
charsetName the encoding type of the content.
Throws
IllegalArgumentException if the specified character set is not found.

Public Methods

public void close ()

Since: API Level 1

Closes this Scanner and the underlying input if the input implements Closeable. If the Scanner has been closed, this method will have no effect. Any scanning operation called after calling this method will throw an IllegalStateException.

See Also

public Pattern delimiter ()

Since: API Level 1

Returns the delimiter Pattern in use by this Scanner.

Returns
  • the delimiter Pattern in use by this Scanner.

public String findInLine (String pattern)

Since: API Level 1

Compiles the pattern string and tries to find a substing matching it in the input data. The delimiter will be ignored. This is the same as invoking findInLine(Pattern.compile(pattern)).

Parameters
pattern a string used to construct a pattern which is in turn used to match a substring of the input data.
Returns
  • the matched string or null if the pattern is not found before the next line terminator.
Throws
IllegalStateException if the Scanner is closed.

public String findInLine (Pattern pattern)

Since: API Level 1

Tries to find the pattern in the input. Delimiters are ignored. If the pattern is found before line terminator, the matched string will be returned, and the Scanner will advance to the end of the matched string. Otherwise, null will be returned and the Scanner will not advance. When waiting for input, the Scanner may be blocked. All the input may be cached if no line terminator exists in the buffer.

Parameters
pattern the pattern to find in the input.
Returns
  • the matched string or null if the pattern is not found before the next line terminator.
Throws
IllegalStateException if the Scanner is closed.

public String findWithinHorizon (Pattern pattern, int horizon)

Since: API Level 1

Tries to find the pattern in the input between the current position and the specified horizon. Delimiters are ignored. If the pattern is found, the matched string will be returned, and the Scanner will advance to the end of the matched string. Otherwise, null will be returned and Scanner will not advance. When waiting for input, the Scanner may be blocked.

The Scanner's search will never go more than horizon code points from current position. The position of horizon does have an effect on the result of the match. For example, when the input is "123" and current position is at zero, findWithinHorizon(Pattern.compile("\\p{Digit}{3}"), 2) will return null. While findWithinHorizon(Pattern.compile("\\p{Digit}{3}"), 3) will return "123". horizon is treated as a transparent, non-anchoring bound. (refer to useTransparentBounds(boolean) and useAnchoringBounds(boolean))

A horizon whose value is zero will be ignored and the whole input will be used for search. In this situation, all the input may be cached.

Parameters
pattern the pattern used to scan.
horizon the search limit.
Returns
  • the matched string or null if the pattern is not found within the specified horizon.
Throws
IllegalStateException if the Scanner is closed.
IllegalArgumentException if horizon is less than zero.

public String findWithinHorizon (String pattern, int horizon)

Since: API Level 1

Tries to find the pattern in the input between the current position and the specified horizon. Delimiters are ignored. This call is the same as invoking findWithinHorizon(Pattern.compile(pattern)).

Parameters
pattern the pattern used to scan.
horizon the search limit.
Returns
  • the matched string, or null if the pattern is not found within the specified horizon.
Throws
IllegalStateException if the Scanner is closed.
IllegalArgumentException if horizon is less than zero.

public boolean hasNext ()

Since: API Level 1

Returns whether this Scanner has one or more tokens remaining to parse. This method will block if the data is still being read.

Returns
  • true if this Scanner has one or more tokens remaining, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNext (String pattern)

Since: API Level 1

Returns true if this Scanner has one or more tokens remaining to parse and the next token matches a pattern compiled from the given string. This method will block if the data is still being read. This call is equivalent to hasNext(Pattern.compile(pattern)).

Parameters
pattern the string specifying the pattern to scan for
Returns
  • true if the specified pattern matches this Scanner's next token, false otherwise.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNext (Pattern pattern)

Since: API Level 1

Returns whether this Scanner has one or more tokens remaining to parse and the next token matches the given pattern. This method will block if the data is still being read.

Parameters
pattern the pattern to check for.
Returns
  • true if this Scanner has more tokens and the next token matches the pattern, false otherwise.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextBigDecimal ()

Since: API Level 1

Returns whether the next token can be translated into a valid BigDecimal.

Returns
  • true if the next token can be translated into a valid BigDecimal, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextBigInteger (int radix)

Since: API Level 1

Returns whether the next token can be translated into a valid BigInteger in the specified radix.

Parameters
radix the radix used to translate the token into a BigInteger.
Returns
  • true if the next token can be translated into a valid BigInteger, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextBigInteger ()

Since: API Level 1

Returns whether the next token can be translated into a valid BigInteger in the default radix.

Returns
  • true if the next token can be translated into a valid BigInteger, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextBoolean ()

Since: API Level 1

Returns whether the next token can be translated into a valid boolean value.

Returns
  • true if the next token can be translated into a valid boolean value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextByte ()

Since: API Level 1

Returns whether the next token can be translated into a valid byte value in the default radix.

Returns
  • true if the next token can be translated into a valid byte value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextByte (int radix)

Since: API Level 1

Returns whether the next token can be translated into a valid byte value in the specified radix.

Parameters
radix the radix used to translate the token into a byte value
Returns
  • true if the next token can be translated into a valid byte value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextDouble ()

Since: API Level 1

Returns whether the next token translated into a valid double value.

Returns
  • true if the next token can be translated into a valid double value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextFloat ()

Since: API Level 1

Returns whether the next token can be translated into a valid float value.

Returns
  • true if the next token can be translated into a valid float value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextInt (int radix)

Since: API Level 1

Returns whether the next token can be translated into a valid int value in the specified radix.

Parameters
radix the radix used to translate the token into an int value.
Returns
  • true if the next token in this Scanner's input can be translated into a valid int value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextInt ()

Since: API Level 1

Returns whether the next token can be translated into a valid int value in the default radix.

Returns
  • true if the next token can be translated into a valid int value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed,

public boolean hasNextLine ()

Since: API Level 1

Returns whether there is a line terminator in the input. This method may block.

Returns
  • true if there is a line terminator in the input, otherwise, false.
Throws
IllegalStateException if the Scanner is closed.

public boolean hasNextLong (int radix)

Since: API Level 1

Returns whether the next token can be translated into a valid long value in the specified radix.

Parameters
radix the radix used to translate the token into a long value.
Returns
  • true if the next token can be translated into a valid long value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextLong ()

Since: API Level 1

Returns whether the next token can be translated into a valid long value in the default radix.

Returns
  • true if the next token can be translated into a valid long value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextShort (int radix)

Since: API Level 1

Returns whether the next token can be translated into a valid short value in the specified radix.

Parameters
radix the radix used to translate the token into a short value.
Returns
  • true if the next token can be translated into a valid short value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public boolean hasNextShort ()

Since: API Level 1

Returns whether the next token can be translated into a valid short value in the default radix.

Returns
  • true if the next token can be translated into a valid short value, otherwise false.
Throws
IllegalStateException if the Scanner has been closed.

public IOException ioException ()

Since: API Level 1

Returns the last IOException that was raised while reading from the underlying input.

Returns
  • the last thrown IOException, or null if none was thrown.

public Locale locale ()

Since: API Level 1

Return the Locale of this Scanner.

Returns
  • the Locale of this Scanner.

public MatchResult match ()

Since: API Level 1

Returns the result of the last matching operation.

The next* and find* methods return the match result in the case of a successful match.

Returns
  • the match result of the last successful match operation
Throws
IllegalStateException if the match result is not available, of if the last match was not successful.

public String next ()

Since: API Level 1

Returns the next token. The token will be both prefixed and postfixed by the delimiter that is currently being used (or a string that matches the delimiter pattern). This method will block if input is being read.

Returns
  • the next complete token.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.

public String next (Pattern pattern)

Since: API Level 1

Returns the next token if it matches the specified pattern. The token will be both prefixed and postfixed by the delimiter that is currently being used (or a string that matches the delimiter pattern). This method will block if input is being read.

Parameters
pattern the specified pattern to scan.
Returns
  • the next token.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token does not match the pattern given.

public String next (String pattern)

Since: API Level 1

Returns the next token if it matches the specified pattern. The token will be both prefixed and postfixed by the delimiter that is currently being used (or a string that matches the delimiter pattern). This method will block if input is being read. Calling this method is equivalent to next(Pattern.compile(pattern)).

Parameters
pattern the string specifying the pattern to scan for.
Returns
  • the next token.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token does not match the pattern given.

public BigDecimal nextBigDecimal ()

Since: API Level 1

Returns the next token as a BigDecimal. This method will block if input is being read. If the next token can be translated into a BigDecimal the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting string is passed to BigDecimal(String) .

Returns
  • the next token as a BigDecimal.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid BigDecimal.

public BigInteger nextBigInteger (int radix)

Since: API Level 1

Returns the next token as a BigInteger with the specified radix. This method will block if input is being read. If the next token can be translated into a BigInteger the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to BigInteger(String, int)} with the specified radix.

Parameters
radix the radix used to translate the token into a BigInteger.
Returns
  • the next token as a BigInteger
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid BigInteger.

public BigInteger nextBigInteger ()

Since: API Level 1

Returns the next token as a BigInteger. This method will block if input is being read. Equivalent to nextBigInteger(DEFAULT_RADIX).

Returns
  • the next token as BigInteger.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid BigInteger.

public boolean nextBoolean ()

Since: API Level 1

Returns the next token as a boolean. This method will block if input is being read.

Returns
  • the next token as a boolean.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid boolean value.

public byte nextByte ()

Since: API Level 1

Returns the next token as a byte. This method will block if input is being read. Equivalent to nextByte(DEFAULT_RADIX).

Returns
  • the next token as a byte.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid byte value.

public byte nextByte (int radix)

Since: API Level 1

Returns the next token as a byte with the specified radix. Will block if input is being read. If the next token can be translated into a byte the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseByte(String, int)} with the specified radix.

Parameters
radix the radix used to translate the token into byte value.
Returns
  • the next token as a byte.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid byte value.

public double nextDouble ()

Since: API Level 1

Returns the next token as a double. This method will block if input is being read. If the next token can be translated into a double the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseDouble(String)}. If the token matches the localized NaN or infinity strings, it is also passed to parseDouble(String)}.

Returns
  • the next token as a double.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid double value.

public float nextFloat ()

Since: API Level 1

Returns the next token as a float. This method will block if input is being read. If the next token can be translated into a float the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseFloat(String)}.If the token matches the localized NaN or infinity strings, it is also passed to parseFloat(String)}.

Returns
  • the next token as a float.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid float value.

public int nextInt (int radix)

Since: API Level 1

Returns the next token as an int with the specified radix. This method will block if input is being read. If the next token can be translated into an int the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseInt(String, int) with the specified radix.

Parameters
radix the radix used to translate the token into an int value.
Returns
  • the next token as an int.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid int value.

public int nextInt ()

Since: API Level 1

Returns the next token as an int. This method will block if input is being read. Equivalent to nextInt(DEFAULT_RADIX).

Returns
  • the next token as an int
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid int value.

public String nextLine ()

Since: API Level 1

Returns the skipped input and advances the Scanner to the beginning of the next line. The returned result will exclude any line terminator. When searching, if no line terminator is found, then a large amount of input will be cached. If no line at all can be found, a NoSuchElementException will be thrown.

Returns
  • the skipped line.
Throws
IllegalStateException if the Scanner is closed.
NoSuchElementException if no line can be found, e.g. when input is an empty string.

public long nextLong (int radix)

Since: API Level 1

Returns the next token as a long with the specified radix. This method will block if input is being read. If the next token can be translated into a long the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseLong(String, int)} with the specified radix.

Parameters
radix the radix used to translate the token into a long value.
Returns
  • the next token as a long.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid long value.

public long nextLong ()

Since: API Level 1

Returns the next token as a long. This method will block if input is being read. Equivalent to nextLong(DEFAULT_RADIX).

Returns
  • the next token as a long.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid long value.

public short nextShort (int radix)

Since: API Level 1

Returns the next token as a short with the specified radix. This method will block if input is being read. If the next token can be translated into a short the following is done: All Locale-specific prefixes, group separators, and Locale-specific suffixes are removed. Then non-ASCII digits are mapped into ASCII digits via digit(char, int), and a negative sign (-) is added if the Locale-specific negative prefix or suffix was present. Finally the resulting String is passed to parseShort(String, int)} with the specified radix.

Parameters
radix the radix used to translate the token into short value.
Returns
  • the next token as a short.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid short value.

public short nextShort ()

Since: API Level 1

Returns the next token as a short. This method will block if input is being read. Equivalent to nextShort(DEFAULT_RADIX).

Returns
  • the next token as a short.
Throws
IllegalStateException if this Scanner has been closed.
NoSuchElementException if input has been exhausted.
InputMismatchException if the next token can not be translated into a valid short value.

public int radix ()

Since: API Level 1

Return the radix of this Scanner.

Returns
  • the radix of this Scanner

public void remove ()

Since: API Level 1

Remove is not a supported operation on Scanner.

Throws
UnsupportedOperationException if this method is invoked.

public Scanner reset ()

Since: API Level 9

Resets this scanner's delimiter, locale, and radix.

Returns
  • this scanner

public Scanner skip (String pattern)

Since: API Level 1

Tries to use the specified string to construct a pattern and then uses the constructed pattern to match input starting from the current position. The delimiter will be ignored. This call is the same as invoke skip(Pattern.compile(pattern)).

Parameters
pattern the string used to construct a pattern which in turn is used to match input.
Returns
  • the Scanner itself.
Throws
IllegalStateException if the Scanner is closed.

public Scanner skip (Pattern pattern)

Since: API Level 1

Tries to use specified pattern to match input starting from the current position. The delimiter will be ignored. If a match is found, the matched input will be skipped. If an anchored match of the specified pattern succeeds, the corresponding input will also be skipped. Otherwise, a NoSuchElementException will be thrown. Patterns that can match a lot of input may cause the Scanner to read in a large amount of input.

Parameters
pattern used to skip over input.
Returns
  • the Scanner itself.
Throws
IllegalStateException if the Scanner is closed.
NoSuchElementException if the specified pattern match fails.

public String toString ()

Since: API Level 1

Returns a string representation of this Scanner. The information returned may be helpful for debugging. The format of the string is unspecified.

Returns
  • a string representation of this Scanner.

public Scanner useDelimiter (String pattern)

Since: API Level 1

Sets the delimiting pattern of this Scanner with a pattern compiled from the supplied string value.

Parameters
pattern a string from which a Pattern can be compiled.
Returns
  • this Scanner.

public Scanner useDelimiter (Pattern pattern)

Since: API Level 1

Sets the delimiting pattern of this Scanner.

Parameters
pattern the delimiting pattern to use.
Returns
  • this Scanner.

public Scanner useLocale (Locale l)

Since: API Level 1

Sets the Locale of this Scanner to a specified Locale.

Parameters
l the specified Locale to use.
Returns
  • this Scanner.

public Scanner useRadix (int radix)

Since: API Level 1

Sets the radix of this Scanner to the specified radix.

Parameters
radix the specified radix to use.
Returns
  • this Scanner.