本文實(shí)例為大家分享了Java實(shí)現(xiàn)單人信息管理程序的具體代碼,供大家參考,具體內(nèi)容如下
10余年的榆社網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整榆社建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“榆社網(wǎng)站設(shè)計(jì)”,“榆社網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
對(duì)前一個(gè)菜單程序進(jìn)行擴(kuò)充,要求增加一個(gè)人的完整信息,人的信息包括姓名和年齡。保存后也可以修改、刪除、查詢此信息。
可以使用對(duì)象序列化保存,需要增加文件操作類,專門負(fù)責(zé)保存和讀取文件的內(nèi)容,并修改 Operate 類,為其增加具體的操作:
文章目錄
一、增加文件操作類
二、 Person 類
三、操作類
一、增加文件操作類
package Chapter_9; import java.io.*; //此類專門用于保存和讀取對(duì)象 public class FileOperate { private File file = null;//定義一個(gè)文件對(duì)象 public FileOperate(String pathName){//通過構(gòu)造方法傳遞文件路徑 this.file = new File(pathName);//實(shí)例化File對(duì)象 } public boolean save(Object obj) throws Exception{//可以保存對(duì)象 ObjectOutputStream oos = null;//對(duì)象輸出流 boolean flag = false;//定義操作標(biāo)志位 try{ oos = new ObjectOutputStream(new FileOutputStream(this.file));//實(shí)例化對(duì)象輸出流 oos.writeObject(obj);//保存對(duì)象 flag = true; }catch (Exception e){ throw e;//有異常拋出 }finally { if (oos != null){//判斷對(duì)象輸出流對(duì)象是否被實(shí)例化 oos.close();//不管是否有異常都要關(guān)閉 } } return flag; } public Object load()throws Exception{//讀取對(duì)象 Object obj = null;//接收保存的對(duì)象 ObjectInputStream ois = null;//聲明對(duì)象輸入流 try{ ois = new ObjectInputStream(new FileInputStream(this.file));//實(shí)例化對(duì)象輸入流 obj = ois.readObject();//讀取對(duì)象 }catch (Exception e){ throw e; }finally { if (ois !=null){//判斷輸入流是否被實(shí)例化 ois.close();//關(guān)閉輸入流 } } return obj; } }
程序中的類的功能就是向程序中寫入對(duì)象和讀取對(duì)象,在操作時(shí)只需要傳入一個(gè)路徑即可
二、 Person 類
import java.io.*; public class Person implements Serializable {//此類的對(duì)象可以被序列化 private String name; private int age; public Person(String name,int age){//通過構(gòu)造方法設(shè)置屬性內(nèi)容 this.name = name; this.age = age; } public String toString(){ return "姓名:" + this.name + "; 年齡:" + this.age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
三、操作類
package Chapter_9; public class Operate { public static void add(){//增加數(shù)據(jù)操作 InputData input = new InputData();//實(shí)例化輸入數(shù)據(jù)對(duì)象 FileOperate fo = new FileOperate("D://test.txt"); String name = input.getString("請(qǐng)輸入姓名:"); int age = input.getInt("請(qǐng)輸入年齡:","年齡必須是數(shù)字!"); Person per = new Person(name,age);//實(shí)例化 Person 對(duì)象 try { fo.save(per);//保存對(duì)象 }catch (Exception e){ e.printStackTrace(); } System.out.println("信息增加成功"); } public static void delete(){//刪除數(shù)據(jù)操作 FileOperate fo = new FileOperate("D://test.txt"); try{ fo.save(null);//清除對(duì)象 }catch (Exception e){ e.printStackTrace(); } System.out.println("信息刪除成功!"); } public static void update(){//修改數(shù)據(jù)操作 InputData input = new InputData();//實(shí)例化輸入數(shù)據(jù)對(duì)象 FileOperate fo = new FileOperate("D:\\test.txt"); Person per = null; try{ per = (Person)fo.load();//讀取數(shù)據(jù) }catch (Exception e1){ e1.printStackTrace(); } String name = input.getString("請(qǐng)輸入新的姓名(原姓名:" + per.getName() + "):"); int age = input.getInt("請(qǐng)輸入是新的年齡(原年齡:" + per.getAge() + ")","年齡必須是數(shù)字!"); per = new Person(name,age);//重新實(shí)例化對(duì)象 try{ fo.save(per);//重新保存對(duì)象 }catch (Exception e){ e.printStackTrace(); } System.out.println("信息更新成功"); } public static void find(){ FileOperate fo = new FileOperate("D:\\test.txt"); Person per = null; try{ per = (Person)fo.load();//讀取對(duì)象 }catch (Exception e1){ e1.printStackTrace(); } System.out.println(per); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。