生活随笔
收集整理的這篇文章主要介紹了
Java——IO流(序列流)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
序列化與反序列化
游戲存檔:目的是為了游戲下次上號數據的保存
package com.yy.otherio;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import com.yy.bean.Person;
public class Demo3_ObjectOutputStream {/*** 序列化:將對象寫到文件上* @throws IOException * @throws ClassNotFoundException * * ObjectInputStream * 對象輸入流,是反序列化* */public static void main(String[] args)
throws IOException, ClassNotFoundException {demo1();demo2();demo3();ObjectInputStream ois =
new ObjectInputStream(
new FileInputStream(
"b.txt"));ArrayList<Person> list = (ArrayList<Person>) ois.readObject();
for (Person person : list) {System.out.println(person);}ois.close();}
private static void demo3()
throws IOException, FileNotFoundException {Person p1 =
new Person(
"張三",
23);Person p2 =
new Person(
"李四",
24);Person p3 =
new Person(
"王五",
25);Person p4 =
new Person(
"趙六",
26);ArrayList<Person> list=
new ArrayList<>();list.add(p1);list.add(p2);list.add(p3);list.add(p4);ObjectOutputStream oos =
new ObjectOutputStream(
new FileOutputStream(
"b.txt"));oos.writeObject(list);oos.close();}
private static void demo2()
throws IOException, FileNotFoundException, ClassNotFoundException {ObjectInputStream ois =
new ObjectInputStream(
new FileInputStream(
"b.txt"));Person p1 = (Person) ois.readObject();Person p2 = (Person) ois.readObject();System.out.println(p1);System.out.println(p2);ois.close();}
private static void demo1()
throws IOException, FileNotFoundException {Person p1 =
new Person(
"張三",
23);Person p2 =
new Person(
"李四",
24);ObjectOutputStream oos =
new ObjectOutputStream(
new FileOutputStream(
"b.txt"));oos.writeObject(p1);oos.writeObject(p2);oos.close();
}}
package com.yy.bean;
import java.io.Serializable;
public class Person implements Serializable{private String name;
private int age;
public Person() {
super();}
public Person(String name,
int age) {
super();
this.name = name;
this.age = 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;}
@Overridepublic String
toString() {
return "Person [name=" + name +
", age=" + age +
"]";}}
總結
以上是生活随笔為你收集整理的Java——IO流(序列流)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。