[Java] PhoneBook →→→→→进入此内容的聊天室

来自 , 2020-03-19, 写在 Java, 查看 149 次.
URL http://www.code666.cn/view/cdf1035c
  1. import java.io.File;  
  2. import java.io.FileInputStream;  
  3. import java.io.FileNotFoundException;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.util.HashMap;  
  7. import java.util.Map;  
  8.  
  9. public class IOU {  
  10.     public static Map<String, PhoneBook> phoneDatas = new HashMap<String, PhoneBook>();  
  11.     public static final String DATA_FILE = "data.bat";  
  12.  
  13.     static {  
  14.         load();  
  15.     }  
  16.  
  17.     public static boolean save(String name,String phoneNum){  
  18.          
  19.         phoneDatas.put(name, new PhoneBook(name,phoneNum));  
  20.         try {  
  21.             FileOutputStream out = new FileOutputStream(DATA_FILE);  
  22.             out.write((name+" "+phoneNum).getBytes());  
  23.             out.flush();  
  24.             out.close();  
  25.             return true;  
  26.         } catch (FileNotFoundException e) {  
  27.             e.printStackTrace();  
  28.         } catch (IOException e) {  
  29.             e.printStackTrace();  
  30.         }  
  31.         return false;  
  32.     }
  33.    
  34.     public static boolean update(String name, String phoneNum){  
  35.         if(IOU.phoneDatas.containsKey(name)){  
  36.             IOU.phoneDatas.get(name).setPhoneNum(phoneNum);  
  37.         }          
  38.         return false;  
  39.     }
  40.        
  41.     public static boolean load() {  
  42.         try {  
  43.             FileInputStream in = new FileInputStream(DATA_FILE);  
  44.             byte[] bs = new byte[1024];  
  45.             int len = 0;  
  46.             StringBuilder dataStr = new StringBuilder();  
  47.  
  48.             while ((len = in.read(bs)) != -1) {  
  49.                 dataStr.append(new String(bs, 0, len));  
  50.             }  
  51.  
  52.             String[] dataStrs = dataStr.toString().trim().split("\\s+");  
  53.  
  54.             if (dataStrs.length > 1) {  
  55.                 for (int i = 0; i < dataStrs.length; i += 2) {  
  56.                     phoneDatas.put(dataStrs[i],new PhoneBook(dataStrs[i],dataStrs[i+1]));  
  57.                 }  
  58.             }  
  59.             return true;  
  60.         } catch (FileNotFoundException e) {  
  61.             try {  
  62.                 new File(DATA_FILE).createNewFile();  
  63.             } catch (IOException e1) {  
  64.                 e1.printStackTrace();  
  65.             }  
  66.         } catch (IOException e) {  
  67.             e.printStackTrace();  
  68.         }  
  69.  
  70.         return false;  
  71.     }  
  72.  
  73.  
  74. }
  75.  

回复 "PhoneBook"

这儿你可以回复上面这条便签

captcha