摘要:練習(xí)序列化集合當(dāng)我們想在文件中保存多個(gè)對(duì)象的時(shí)候可以把多個(gè)對(duì)象存儲(chǔ)到一個(gè)集合中對(duì)集合進(jìn)序列化和反序列化分析定義一個(gè)存儲(chǔ)對(duì)象的集合往集合中存儲(chǔ)對(duì)象創(chuàng)建一個(gè)序列化流對(duì)象使用對(duì)象中的方法對(duì)集合進(jìn)行序列化創(chuàng)建一個(gè)反序列化對(duì)象使用對(duì)象中的方法讀取文件
package com.itheima.demo04.ObjectStream;
import java.io.*;
import java.util.ArrayList;
/*
練習(xí):序列化集合 當(dāng)我們想在文件中保存多個(gè)對(duì)象的時(shí)候 可以把多個(gè)對(duì)象存儲(chǔ)到一個(gè)集合中 對(duì)集合進(jìn)序列化和反序列化 分析: 1.定義一個(gè)存儲(chǔ)Person對(duì)象的ArrayList集合 2.往ArrayList集合中存儲(chǔ)Person對(duì)象 3.創(chuàng)建一個(gè)序列化流ObjectOutputStream對(duì)象 4.使用ObjectOutputStream對(duì)象中的方法writeObject,對(duì)集合進(jìn)行序列化 5.創(chuàng)建一個(gè)反序列化ObjectInputStream對(duì)象 6.使用ObjectInputStream對(duì)象中的方法readObject讀取文件中保存的集合 7.把Object類型的集合轉(zhuǎn)換為ArrayList類型 8.遍歷ArrayList集合 9.釋放資源
*/
public class Demo03Test {
public static void main(String[] args) throws IOException, ClassNotFoundException { //1.定義一個(gè)存儲(chǔ)Person對(duì)象的ArrayList集合 ArrayListlist = new ArrayList<>(); //2.往ArrayList集合中存儲(chǔ)Person對(duì)象 list.add(new Person("張三",18)); list.add(new Person("李四",19)); list.add(new Person("王五",20)); //3.創(chuàng)建一個(gè)序列化流ObjectOutputStream對(duì)象 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("10_IOlist.txt")); //4.使用ObjectOutputStream對(duì)象中的方法writeObject,對(duì)集合進(jìn)行序列化 oos.writeObject(list); //5.創(chuàng)建一個(gè)反序列化ObjectInputStream對(duì)象 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("10_IOlist.txt")); //6.使用ObjectInputStream對(duì)象中的方法readObject讀取文件中保存的集合 Object o = ois.readObject(); //7.把Object類型的集合轉(zhuǎn)換為ArrayList類型 ArrayList list2 = (ArrayList )o; //8.遍歷ArrayList集合 for (Person p : list2) { System.out.println(p); } //9.釋放資源 ois.close(); oos.close(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76269.html
摘要:動(dòng)態(tài)規(guī)劃練習(xí)題總題目描述設(shè)一個(gè)個(gè)節(jié)點(diǎn)的二叉樹的中序遍歷為,其中數(shù)字為節(jié)點(diǎn)編號(hào)。若某個(gè)子樹為空,規(guī)定其加分為,葉子的加分就是葉節(jié)點(diǎn)本身的分?jǐn)?shù)。試求一棵符合中序遍歷為且加分最高的二叉樹。 動(dòng)態(tài)規(guī)劃練習(xí)題-總 題目描述設(shè)一個(gè)n個(gè)節(jié)點(diǎn)的二叉樹tree的中序遍歷為(1,2,3,…,n),其中數(shù)字1,2,3,…,n為節(jié)點(diǎn)編號(hào)。每個(gè)節(jié)點(diǎn)都有一個(gè)分?jǐn)?shù)(均為正整數(shù)),記第i個(gè)節(jié)點(diǎn)的分?jǐn)?shù)為di,tree及...
摘要:前面的內(nèi)容把雪花算法的時(shí)間部分和機(jī)器信息部分都生成了,下面來生成最后一部分,就是毫秒內(nèi)的序列。這樣毫秒內(nèi)的序列數(shù)就算獲取成功了。 前面的內(nèi)容把雪花算法的時(shí)間部分和機(jī)器信息部分都生成了,下面來生成最后一部分,就是毫秒內(nèi)的序列。什么意思呢?我們?cè)谏蓵r(shí)間部分獲取時(shí)間戳的時(shí)候,使用 long now = System.currentTimeMillis(); 獲取,是個(gè)毫秒級(jí)的時(shí)間戳,但是即...
摘要:為什么要用對(duì)于序列化數(shù)據(jù)的解決方案已經(jīng)有以下幾種內(nèi)建序列化器它可以序列化但無法直接序列化單獨(dú)的數(shù)據(jù)。與對(duì)依舊有效默認(rèn)為用法轉(zhuǎn)換為字符串。 寫后臺(tái)的時(shí)候經(jīng)常需要寫數(shù)據(jù)接口,這時(shí)就需要用到序列化工具, 而默認(rèn)到序列化工具對(duì) Django model 的序列化支持有限。 同時(shí) Django 本身的序列化工具我在使用時(shí)也覺得有諸多不便,因此我嘗試自己寫了一個(gè)快速序列化工具,幫助我快速簡單的實(shí)現(xiàn)...
摘要:下面我們來說說如何使用來減輕序列化模型的工作量。主要包括如下個(gè)步驟定義模式序列化模型下面我們分別來看看。不得不說這個(gè)庫對(duì)于序列化模型其實(shí)挺實(shí)用的。 原文地址: http://52sox.com/use-python-serialization-orm-data-to-json/ 相信使用Python做Web開發(fā)的朋友都會(huì)遇到這樣1個(gè)問題,那就是在項(xiàng)目開發(fā)中使用模型框架,比如SQLAlc...
閱讀 1889·2021-09-22 15:45
閱讀 1674·2019-08-30 15:55
閱讀 1856·2019-08-29 11:16
閱讀 3329·2019-08-26 11:44
閱讀 739·2019-08-23 17:58
閱讀 2719·2019-08-23 12:25
閱讀 1654·2019-08-22 17:15
閱讀 3643·2019-08-22 16:09