黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java持久化數據的介紹

Java持久化數據的介紹

更新時間:2022-05-24 09:31:28 來源:動力節點 瀏覽1513次

數據持久化可:把程序中的數據以某種形式保存到某存儲介質中,以達到持久化的目的(把數據保存到硬盤或數據庫中)

序列化(Serialization)也叫串行化,是java內置的持久化java對象機制,只要某個類實現了java.io.Serialization接口,就能夠使用java.io.ObjectOutputStream將該類對象以二進制字節碼的形式寫到硬盤上,并能夠使用java.io.ObjectInputStream將該對象從硬盤上還原。這樣,即使重啟電腦,該java對象也能從硬盤上恢復

模擬person對象數據持久化——保存到文件||數據庫||其他(保存數據、查找數據)

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class Person implements Serializable{
private static final long serialVersionUID = 1L;
private String name;//姓名
private List hobby = new ArrayList();//愛好
//生成所有屬性getter和setter的方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getHobby() {
return hobby;
}
public void setHobby(List hobby) {
this.hobby = hobby;
}
//重寫toString方法
@Override
public String toString() {
return "愛好:" + hobby + ", 姓名" + name;
}
}
Console.java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.util.Arrays;
//導入自定義Person包
public class Console {
//當前文件夾,即當前項目的存放路徑
public static File directory = new File(System.getProperty("user.dir"));
//控制臺輸入
public static String systemRead()throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
return reader.readLine();
}
//將person對象持久化到硬盤上,模擬以文件的形式存儲數據
public static void persist(Person person) throws IOException{
File file = new File(directory,person.getName()+".txt");
ObjectOutput output = new ObjectOutputStream(new FileOutputStream(file));
//保存對象
output.writeObject(person);
output.close();
System.out.println("文件保存在:"+file);
}
//將person對象從硬盤上恢復,從該文件讀出數據
public static Person load(String name) throws Exception{
File file = new File(directory,name+".txt");
if(!file.exists()){
return null;
}
ObjectInput ins = new ObjectInputStream(new FileInputStream(file));
//讀取對象
return (Person)ins.readObject();
}
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
System.out.println("人員信息管理系統.");
System.out.println("1.輸入'save'開始錄入人員信息.");
System.out.println("2.輸入'load'開始查詢人員信息");
System.out.println("3.輸入'exit'退出系統");
System.out.println("請輸入(回車結束輸入):");
//獲取用戶輸入信息
String menu = systemRead();
//如果輸入的為save,則繼續輸入人員的姓名、愛好
if("save".equalsIgnoreCase(menu)){
System.out.println("請輸入要錄入的人員姓名:");
//獲取輸入人員的姓名
String name = systemRead();
System.out.println("請輸入'"+name+"'愛好,用','隔開:");
//獲取輸入人員的愛好
String hobbies = systemRead();
Person person = new Person();
person.setName(name);
person.setHobby(Arrays.asList(hobbies.split(",")));
//持久化人員對象
persist(person);
//如果輸入的為load,則繼續查找人員的姓名,然后根據姓名查詢該人員的信息
}else if("load".equalsIgnoreCase(menu)){
System.out.println("請輸入要查找的人員姓名:");
//獲取輸入人員的姓名
String name = systemRead();
//根據姓名查詢人員,并返回人員相關信息
Person person = load(name);
if(person == null){
System.out.println("沒有此人員信息");
}else{
System.out.println("查詢結果"+person);
}
//如果輸入的為exit,則退出程序
}else{
System.out.println("無效輸入:"+menu);
System.out.println();
//繼續執行main主函數
main(null);
}
}
}

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产人成亚洲第一网站在线播放 | 国产精品久久久久乳精品爆 | 日本理论午夜中文字幕第一页 | 在线免费观看污网站 | 日韩欧美视频一区二区三区 | 激情插插 | 欧美性猛交ⅹxxx乱大交按摩 | 亚洲精品第一综合99久久 | 骚片免费 | 中文字幕在线看片成人 | 亚洲国产欧美在线观看 | 日韩一级视频免费观看 | 5g影院天天爽天天 | 日韩成人免费在线 | 涩涩综合 | 欧美在线欧美 | 欧美理论影院在线观看免费 | 日韩骚片| 性一交一无一伦一精一品 | 国产a v高清一区二区三区 | 精品成人免费播放国产片 | 国内成人免费视频 | 亚洲系列中文字幕一区二区 | 狠狠五月婷婷 | 日韩欧美综合在线 | 免费特级黄毛片在线成人观看 | 日韩亚洲欧美综合一区二区三区 | 天天摸天天澡天天碰天天弄 | 一级毛片视频免费观看 | 日日夜夜人人 | 国产一二三区精品 | 国产综合日韩伦理 | 国产尻逼 | 午夜国产精品理论片久久影院 | 亚洲日本中文字幕一本 | 亚洲欧美中文字幕影音先锋 | 青草青草视频2免费观看 | 日韩一区二区三区免费视频 | 亚洲欧美综合乱码精品成人网 | 久久久久久福利 | 欧美午夜艳片欧美精品 |