① 什麼是序列化,在java中如何實現序列化。
序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化後的對象進行讀寫操作,也可將流化後的對象傳輸於網路之間。序列化是為了解決在對對象流進行讀寫操作時所引發的問題。
序列化的實現:將需要被序列化的類實現Serializable介面,該介面沒有需要實現的方法,implements Serializable只是為了標注該對象是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數為obj的對象寫出(即保存其狀態),要恢復的話則用輸入流。
② java 為了實現自定義對象的序列化,該自定義對象必須實現哪個介面
實現java.io.Serializable介面就行
如下:
packagetest;
importjava.io.Serializable;
{
privateIntegerserial;
privateStringname;
;
privateStringseat;
privateStringarrangement;
privateStringhomepage;
publicIntegergetSerial(){
returnserial;
}
publicvoidsetSerial(Integerserial){
this.serial=serial;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
(){
returncompetentDepartment;
}
(StringcompetentDepartment){
this.competentDepartment=competentDepartment;
}
publicStringgetSeat(){
returnseat;
}
publicvoidsetSeat(Stringseat){
this.seat=seat;
}
publicStringgetArrangement(){
returnarrangement;
}
publicvoidsetArrangement(Stringarrangement){
this.arrangement=arrangement;
}
publicStringgetHomepage(){
returnhomepage;
}
publicvoidsetHomepage(Stringhomepage){
this.homepage=homepage;
}
publicStringtoString(){
returnserial+""+name+""+competentDepartment+""+seat+""+arrangement+""+homepage;
}
}
③ java中如何實現序列化,有什麼意義
首先我們要把准備要序列化類,實現 Serializabel介面
例如:我們要Person類里的name和age都序列化
import java.io.Serializable;
public class Person implements Serializable { //本類可以序列化
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "姓名:" + this.name + ",年齡" + this.age ;
}
}
然後:我們將name和age序列化(也就是把這2個對象轉為二進制,統族理解為「打碎」)
package org.lxh.SerDemo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream ;
public class ObjectOutputStreamDemo { //序列化
public static void main(String[] args) throws Exception {
//序列化後生成指定文件路徑
File file = new File("D:" + File.separator + "person.ser") ; ObjectOutputStream oos = null ;
//裝飾流(流)
oos = new ObjectOutputStream(new FileOutputStream(file)) ;
//實例化類
Person per = new Person("張三",30) ; oos.writeObject(per) ;//把類對象序列化
oos.close() ;
}
}
④ java 對象序列化到xml java 對象到xml 轉化為string
marshaller.marshal,明顯就有很多參數。用OutputStream那個就可以寫入String了。。
用XmlStreamWriter也是可以。
⑤ 什麼是序列化,在java中如何實現序列化
一、什麼是序列化:
序列化理解成「打碎」是可以的,不過在書本上的名詞就是將對象轉換成二進制。
二、在java中如何實現序列化:
首先我們要把准備要序列化類,實現 Serializabel介面
例如:我們要Person類里的name和age都序列化
import java.io.Serializable;
public class Person implements Serializable { //本類可以序列化
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "姓名:" + this.name + ",年齡" + this.age ;
}
}
然後:我們將name和age序列化(也就是把這2個對象轉為二進制,統族理解為「打碎」)
package org.lxh.SerDemo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream ;
public class ObjectOutputStreamDemo { //序列化
public static void main(String[] args) throws Exception {
//序列化後生成指定文件路徑
File file = new File("D:" + File.separator + "person.ser") ; ObjectOutputStream oos = null ;
//裝飾流(流)
oos = new ObjectOutputStream(new FileOutputStream(file)) ;
//實例化類
Person per = new Person("張三",30) ; oos.writeObject(per) ;//把類對象序列化
oos.close() ;
}
}