Source of FileReadChars3.java


  1: //FileReadChars3.java

  3: import java.util.Scanner;
  4: import java.io.FileReader;
  5: import java.io.IOException;

  7: public class FileReadChars3
  8: {
  9:     /* Method closes a FileReader.
 10:        Prints exception message if closing fails
 11:      */
 12:     public static void closeFileReader(FileReader fileReader)
 13:     {
 14:         try
 15:         {
 16:             // Ensure fileReader references a valid object
 17:             if (fileReader != null)
 18:             {
 19:                 System.out.println("Closing file.");
 20:                 fileReader.close(); // close() may throw IOException if fails
 21:             }
 22:         }
 23:         catch (IOException closeExcpt)
 24:         {
 25:             System.out.println("Error closing file: " + closeExcpt.getMessage());
 26:         }
 27:     }

 29:     public static void main(String[] args)
 30:     {
 31:         Scanner scnr = new Scanner(System.in);
 32:         FileReader fileReader = null; // FileReader for reading chars
 33:         String fileName; // User defined file name
 34:         int charRead;    // Data read from file

 36:         charRead = 0;

 38:         // Get file name from user
 39:         System.out.print("Enter a valid file name: ");
 40:         fileName = scnr.next();

 42:         try
 43:         {
 44:             // Prompt user for input
 45:             System.out.println("Opening file " + fileName + ".");
 46:             // May throw FileNotFoundException
 47:             fileReader = new FileReader(fileName);

 49:             // Use file input stream
 50:             System.out.print("Reading character values: ");
 51:             while (charRead != -1) // -1 means end of file has been reached
 52:             {
 53:                 charRead = fileReader.read(); // May throw IOException
 54:                 System.out.print(charRead + " ");
 55:             }
 56:             System.out.println();
 57:         }
 58:         catch (IOException excpt)
 59:         {
 60:             System.out.println("Caught IOException: " + excpt.getMessage());
 61:         }
 62:         finally
 63:         {
 64:             closeFileReader(fileReader); // Ensure file is closed!
 65:         }
 66:     }
 67: }