c:\ece538\ch15\TextFileApps> java ReadTextFile Account First Name Last Name Balance 100 Bob Blue 24.98 200 Steve Green -345.67 300 Pam White 0.00 400 Sam Red -42.16 500 Sue Yellow 224.62 |
ReadTextFile.java
// Fig. 15.6: ReadTextFile.java // This program reads a text file and displays each record. import java.io.IOException; import java.lang.IllegalStateException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.NoSuchElementException; import java.util.Scanner; public class ReadTextFile { private static Scanner input; public static void main(String[] args) { String filename = "clients.txt"; if (args.length>0) filename = args[0]; openFile(filename); readRecords(); closeFile(); } // open file clients.txt public static void openFile(String filename) { try { input = new Scanner(Paths.get(filename)); } catch (IOException ioException) { System.err.println("Error opening file. Terminating."); System.exit(1); } } // read record from file public static void readRecords() { System.out.printf("%-10s%-12s%-12s%10s%n", "Account", "First Name", "Last Name", "Balance"); try { while (input.hasNext()) // while there is more to read { // display record contents System.out.printf("%-10d%-12s%-12s%10.2f%n", input.nextInt(), input.next(), input.next(), input.nextDouble()); } } catch (NoSuchElementException elementException) { System.err.println("File improperly formed. Terminating."); } catch (IllegalStateException stateException) { System.err.println("Error reading from file. Terminating."); } } // end method readRecords // close file and terminate application public static void closeFile() { if (input != null) input.close(); } } // end class ReadTextFile
Maintained by John Loomis, updated Fri Jan 31 13:26:50 2020