phonebook.java

来自「Java面向对象编程(随书配套源代码) 阐述了面向对象编程的思想」· Java 代码 · 共 65 行

JAVA
65
字号
package chapter8;

import java.util.*;
import java.io.*;

class Phonebook
{
    public static void main(String args[]) throws IOException
    {
        Properties ht = new Properties();
        isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        String name, number;
        FileInputStream fin = null;
        boolean changed = false;
        try
        {
            fin = new FileInputStream("phonebook.dat");
        }
        catch(FileNotFoundException e)
        {
        }
        try
        {
            if(fin != null)
            {
                ht.load(fin);
                fin.close();
            }
        }
        catch(IOException e)
        {
            System.out.println("Error reading file.");
        }
        // 输入新的名称和号码
        do
        {
            System.out.println("Enter new name" + " ('quit' to stop): ");
            name = br.readLine();
            if(name.equals("quit")) continue;
                System.out.println("Enter number: ");
            number = br.readLine();
            ht.put(name, number);
            changed = true;
        }
        while(!name.equals("quit"));
        // 如果电话号码本的数据发生了更新,保存它
        if(changed)
        {
            FileOutputStream fout = new FileOutputStream("phonebook.dat");
            ht.store(fout, "Telephone Book");
            fout.close();
        }
        // 给定名字找出号码
        do
        {
            System.out.println("Enter name to find" + " ('quit' to quit): ");
            name = br.readLine();
            if(name.equals("quit")) continue;
            number = (String) ht.get(name);
            System.out.println(number);
        }
        while(!name.equals("quit"));
    }
}

⌨️ 快捷键说明

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