1
 2
/**
 3 *
 4 *  This code was written to show what happens when a user instantiates an
 5 *  empty file and tries to read from it.  Note that file is instantiated as
 6 *  long is it exists.  However, when the Scanner tries to read from it, that
 7 *  fails with a "no such element exception ".
 8 *
 9 *  @author Elizabeth Adams
10 *
11 *
12 */
13
14
ÏÏÏimport java.util.Scanner;
15 ÏÏÏimport java.io.*;
16
17
ÏÕÖ×public class TestEmptyFile
18 Ïϧ{
19 ÏϧÏÞßàpublic static void main (String [] args)
20 ÏϧÏϧ{
21 ÏϧÏϨ¹íÏScanner myScanner;
22 ÏϧÏϨ¹íÏString fileName;
23 ÏϧÏϨ¹íÏString temp;
24 ÏϧÏϧ
25
ÏϧÏϨ¹¹ÏfileName = "empty.txt";
26 ÏϧÏϧ
27
ÏϧÏϨ¹¹´try
28 ÏϧÏϧÏϧ{ 
29 ÏϧÏϧÏϨ¹¹ÏmyScanner = new Scanner (new File (fileName)); // no problem here
30 ÏϧÏϧÏϧ}
31 ÏϧÏϧÏϧÏðîìcatch (Exception e)  // in case file "empty.txt not in directory 
32 ÏϧÏϧÏϧÏϧ{
33 ÏϧÏϧÏϧÏϨ¹¹ÏmyScanner = new Scanner ("pacifier for compiler"); // don't expect to use this
34 ÏϧÏϧÏϧÏϨ¹¹ÏSystem.out.println (e.getMessage());
35 ÏϧÏϧÏϧÏϨ¹¹Ïe.printStackTrace();
36 ÏϧÏϧÏÏ©ÏÏ©} _  
37 ÏϧÏϧ
38
ÏϧÏϨ¹¹´try
39 ÏϧÏϧÏϧ{
40 ÏϧÏϧÏϨ¹¹Ïtemp = myScanner.next();  // this fails because file is empty
41 ÏϧÏϧÏϨ¹¹ÏSystem.out.println (temp); 
42 ÏϧÏϧÏϨ¹¹ÏSystem.out.println (" no problem ");
43 ÏϧÏϧÏϧ}
44 ÏϧÏϧÏϧÏðîìcatch (java.util.NoSuchElementException nsee)
45 ÏϧÏϧÏϧÏϧ{
46 ÏϧÏϧÏϧÏϨ¹¹ÏSystem.out.println (nsee.getMessage());  // prints null
47 ÏϧÏϧÏϧÏϨ¹¹Ïnsee.printStackTrace(); /* prints
48 ÏϧÏϧÏϧÏϧjava.util.NoSuchElementException
49 ÏϧÏϧÏϧÏϧat java.util.Scanner.throwFor(Scanner.java:817)
50 ÏϧÏϧÏϧÏϧat java.util.Scanner.next(Scanner.java:1317)
51 ÏϧÏϧÏϧÏϧat TestEmptyFile.main(TestEmptyFile.java:26)
52 ÏϧÏϧÏϧÏϧ*/
53 ÏϧÏϧÏÏ©ÏÏ©}_
54 ÏϧÏϧ 
55 ÏϧÏÏ©}
56 ÏÏ©}