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 ÏÏ©}