maintainnamearchive.java

来自「Java the UML Way 书中所有源码」· Java 代码 · 共 61 行

JAVA
61
字号
/*
 * MaintainNameArchive.java   E.L. 2001-08-15
 *
 */
import java.io.*;
import javax.swing.JOptionPane;
class MaintainNameArchive {
  public static void main(String[] args) throws Exception {
    String filename = "nameFile.txt";
    /*
     * Reads all the names, and prints them on the screen.
     */
    FileReader readConnToFile = new FileReader(filename);
    BufferedReader reader = new BufferedReader(readConnToFile);

    String result = "The register:\n";
    String oneName = reader.readLine();
    while(oneName != null) {   // null means end-of-file
      result += oneName + "\n";
      oneName = reader.readLine();
    }
    JOptionPane.showMessageDialog(null, result);
    reader.close();
    
    /*
     * Does the user want more names to be registered?
     */     
    int answer = JOptionPane.showConfirmDialog(null, "Do you want to add more names? ",
                    "Archive", JOptionPane.YES_NO_OPTION);
    if (answer == JOptionPane.YES_OPTION) { 
      FileWriter writeConnToFile = new FileWriter(filename, true);
      PrintWriter printer = new PrintWriter(new BufferedWriter(writeConnToFile));
      while (answer == JOptionPane.YES_OPTION) {
        String newName = JOptionPane.showInputDialog("Name: ");
        printer.println(newName);
        answer = JOptionPane.showConfirmDialog(null, "Do you want to add more names? ",
                    "Archive", JOptionPane.YES_NO_OPTION);
      }
      printer.close();
    }
    System.exit(0);
  }
}

/* Example Run:
=> The data file before program run:
Tony Kingsley
Ken Brown
Margaret Gibson

=> The user enters two new names:
Matthew Johnson
Peter Adams

=> The data file after program run:
Tony Kingsley
Ken Brown
Margaret Gibson
Matthew Johnson
Peter Adams
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?