1.概要
1.1 JDKが提供スキャナクラスのためのキーボード入力を取得します。
1.2 スキャナクラスに基づいて正規表現でテキストスキャナ、ファイル入力ストリーム、基本的な文字列型の値、文字列値から解析されてもよいです。
1.3 スキャナクラスが提供異なるコンストラクタを複数、次のことができ受け入れるファイル入力ストリームを、文字列データのソースとして、ファイル入力ストリーム、文字列からデータを解析します。
パブリック最終クラスのスキャナはイテレータ<文字列>、開閉可能な{実装 =====构造器 プライベートスキャナ(読み取り可能なソース、パターン・パターンを){ !ソース=ヌルを主張: "sourceがnullであってはなりません"。 パターンを主張= NULL:!「のパターンがnullであってはなりません」。 this.source =ソース; delimPattern =パターン。 BUF = CharBuffer.allocate(BUFFER_SIZE)。 buf.limit(0)。 整合= delimPattern.matcher(BUF)。 matcher.useTransparentBounds(真の); matcher.useAnchoringBounds(偽); useLocale(Locale.getDefault(Locale.Category.FORMAT))。 } 公共スキャナ(ファイルソース)にFileNotFoundExceptionを{スロー この((ReadableByteChannel)(新規のFileInputStream(ソース).getChannel()))。 } 公共スキャナ(文字列のソース){ この(新しいにStringReader(ソース)、WHITESPACE_PATTERN)。 } 公共スキャナ(入力ストリームソース){ この(新しいInputStreamReaderの(ソース)、WHITESPACE_PATTERN)。 } }
1.4 Scannerクラスのメソッドが用意されています。
hasNextXX() :次のあります。
nextXX() :次のいずれかを取得します。
インポートjava.util.Scanner; パブリッククラスTestScanner { パブリック静的無効メイン(文字列[] args){ ブールフラグ= TRUE。 一方、(フラグ){ //System.in标准输入、即键盘输入 スキャナスキャナ=新しいスキャナ(System.in)。 ストリングinputContent = scanner.next()。 (inputContent.equals( "出口")){もし フラグ= FALSE。 } のSystem.out.println(inputContent)。 } } }
hasNextLine() :次の行があります。
nextLine() :次の行を取得します。