<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FScanner</id>
		<title>Java Tutorial/File/Scanner - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FScanner"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Scanner&amp;action=history"/>
		<updated>2026-04-09T10:38:54Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/Scanner&amp;diff=5402&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Scanner&amp;diff=5402&amp;oldid=prev"/>
				<updated>2010-06-01T05:20:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/Scanner&amp;diff=5401&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Scanner&amp;diff=5401&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Creating a Scanner: read from standard input: Scanner conin = new Scanner(System.in) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Scanner conin = new Scanner(System.in);&lt;br /&gt;
    int count = 0;&lt;br /&gt;
    System.out.println(&amp;quot;Enter numbers to average.&amp;quot;);&lt;br /&gt;
    while (conin.hasNext()) {&lt;br /&gt;
      if (conin.hasNextDouble()) {&lt;br /&gt;
        System.out.println(conin.nextDouble()); &lt;br /&gt;
        count++;&lt;br /&gt;
      }&lt;br /&gt;
      if(count == 3){&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
        &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Creating a Scanner to read from a string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String instr = &amp;quot;10 99.88 scanning is easy.&amp;quot;;&lt;br /&gt;
    Scanner conin = new Scanner(instr);&lt;br /&gt;
    while (conin.hasNext()) {&lt;br /&gt;
      if (conin.hasNextDouble()) {&lt;br /&gt;
        System.out.println(conin.nextDouble()); &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;10.0&lt;br /&gt;
99.88&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  In general, to use Scanner, follow this procedure ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;Call one of Scanner&amp;quot;s hasNextXXX methods to see if the input is available&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;If available, call Scanner&amp;quot;s nextXXX to read the input.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Repeat first two steps.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Scanner conin = new Scanner(System.in);&lt;br /&gt;
int i;&lt;br /&gt;
// Read a list of integers. &lt;br /&gt;
while(conin.hasNextInt()) {&lt;br /&gt;
  i = conin.nextInt();&lt;br /&gt;
  // ...&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Searching for the specified pattern within the next line of text ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;String findInLine(Pattern pattern)&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;String findInLine(String pattern)&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If the pattern is found, the matching token is consumed and returned. &lt;br /&gt;
Otherwise, null is returned.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Scanner sc = new Scanner(&amp;quot;Name: Tom Age: 28 ID: 77&amp;quot;);&lt;br /&gt;
    sc.findInLine(&amp;quot;ID:&amp;quot;);&lt;br /&gt;
    if (sc.hasNext())&lt;br /&gt;
      System.out.println(sc.next());&lt;br /&gt;
    else&lt;br /&gt;
      System.out.println(&amp;quot;Error!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;77&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Setting Delimiters for Scanner ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Scanner defines where a token starts and ends based on a set of delimiters.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The default delimiters are the whitespace characters.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;To Change the delimiters&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;Scanner: useDelimiter(String pattern)&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Scanner: useDelimiter(Pattern pattern)&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Pattern is a regular expression that specifies the delimiter set.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Use Scanner to compute the average of a list of comma-separated values.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    FileWriter fout = new FileWriter(&amp;quot;test.txt&amp;quot;);&lt;br /&gt;
    fout.write(&amp;quot;2, 3.4,    5,6, 7.4, 9.1, 10.5, done&amp;quot;);&lt;br /&gt;
    fout.close();&lt;br /&gt;
    FileReader fin = new FileReader(&amp;quot;Test.txt&amp;quot;);&lt;br /&gt;
    Scanner src = new Scanner(fin);&lt;br /&gt;
    // Set delimiters to space and comma.&lt;br /&gt;
    // &amp;quot;, *&amp;quot; tells Scanner to match a comma and zero or more spaces as&lt;br /&gt;
    // delimiters.&lt;br /&gt;
    src.useDelimiter(&amp;quot;, *&amp;quot;);&lt;br /&gt;
    // Read and sum numbers.&lt;br /&gt;
    while (src.hasNext()) {&lt;br /&gt;
      if (src.hasNextDouble()) {&lt;br /&gt;
        System.out.println(src.nextDouble());&lt;br /&gt;
      } else {&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    fin.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;2.0&lt;br /&gt;
3.4&lt;br /&gt;
5.0&lt;br /&gt;
6.0&lt;br /&gt;
7.4&lt;br /&gt;
9.1&lt;br /&gt;
10.5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  To find within the next count characters ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;String findWithinHorizon(Pattern pattern, int count)&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;String findWithinHorizon (String pattern, int count)&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If successful, it returns the matching pattern. &lt;br /&gt;
Otherwise, it returns null.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If count is zero, then all input is searched until either a match is &lt;br /&gt;
found or the end of input is encountered.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Scanner sc = new Scanner(&amp;quot;Name: Tom Age: 28 ID: 77&amp;quot;);&lt;br /&gt;
    sc.findWithinHorizon(&amp;quot;ID:&amp;quot;,100);&lt;br /&gt;
    if (sc.hasNext())&lt;br /&gt;
      System.out.println(sc.next());&lt;br /&gt;
    else&lt;br /&gt;
      System.out.println(&amp;quot;Error!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Name:&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  To obtain the current delimiter pattern: Pattern delimiter( ) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    Scanner src = new Scanner(&amp;quot;1,2,3,4&amp;quot;);&lt;br /&gt;
    src.useDelimiter(&amp;quot;, *&amp;quot;);&lt;br /&gt;
    System.out.println(src.delimiter());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;, *&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Scanner: the complement of Formatter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;It reads formatted input and converts the input into the binary form.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Scanner can read input from the console, a file, a string, or any source that implements the Readable &lt;br /&gt;
interface or ReadableByteChannel.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Scanner is packaged in java.util.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The following sequence creates a Scanner that reads the file test.txt:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    // Write output to a file.&lt;br /&gt;
    FileWriter fout = new FileWriter(&amp;quot;test.txt&amp;quot;);&lt;br /&gt;
    fout.write(&amp;quot;2 3.4 5 6 7.4 9.1 10.5 done&amp;quot;);&lt;br /&gt;
    fout.close();&lt;br /&gt;
    FileReader fin = new FileReader(&amp;quot;Test.txt&amp;quot;);&lt;br /&gt;
    Scanner src = new Scanner(fin);&lt;br /&gt;
    // Read and sum numbers.&lt;br /&gt;
    while (src.hasNext()) {&lt;br /&gt;
      if (src.hasNextDouble()) {&lt;br /&gt;
        System.out.println(src.nextDouble());&lt;br /&gt;
      }else{&lt;br /&gt;
        break;&lt;br /&gt;
      } &lt;br /&gt;
    }&lt;br /&gt;
    fin.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;2.0&lt;br /&gt;
3.4&lt;br /&gt;
5.0&lt;br /&gt;
6.0&lt;br /&gt;
7.4&lt;br /&gt;
9.1&lt;br /&gt;
10.5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Scanner to read several different unknown types of data ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    // Write output to a file.&lt;br /&gt;
    FileWriter fout = new FileWriter(&amp;quot;test.txt&amp;quot;);&lt;br /&gt;
    fout.write(&amp;quot;int: 1  double 1.0  boolean true&amp;quot;);&lt;br /&gt;
    fout.close();&lt;br /&gt;
    FileReader fin = new FileReader(&amp;quot;Test.txt&amp;quot;);&lt;br /&gt;
    Scanner src = new Scanner(fin);&lt;br /&gt;
    while (src.hasNext()) {&lt;br /&gt;
      if (src.hasNextInt()) {&lt;br /&gt;
        System.out.println(&amp;quot;int: &amp;quot; + src.nextInt());&lt;br /&gt;
      } else if (src.hasNextDouble()) {&lt;br /&gt;
        System.out.println(&amp;quot;double: &amp;quot; + src.nextDouble());&lt;br /&gt;
      } else if (src.hasNextBoolean()) {&lt;br /&gt;
        System.out.println(&amp;quot;boolean: &amp;quot; + src.nextBoolean());&lt;br /&gt;
      } else {&lt;br /&gt;
        System.out.println(src.next());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    fin.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;int:&lt;br /&gt;
int: 1&lt;br /&gt;
double&lt;br /&gt;
double: 1.0&lt;br /&gt;
boolean&lt;br /&gt;
boolean: true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Scanner to receive user input ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
public class MainClass{&lt;br /&gt;
  public static void main(String[] args){&lt;br /&gt;
    Scanner scanner = new Scanner (System.in);&lt;br /&gt;
    String s = scanner.next ();&lt;br /&gt;
    &lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>