Java - 會双晒
<貧匯准
和匯准>
Java 戻工阻匯嶽斤嵆會双晒議字崙?乎字崙嶄?匯倖斤嵆辛參瓜燕幣葎匯倖忖准會双?乎忖准會双淫凄乎斤嵆議方象、嗤購斤嵆議窃侏議佚連才贋刈壓斤嵆嶄方象議窃侏。
繍會双晒斤嵆亟秘猟周岻朔?辛參貫猟周嶄響函竃栖?旺拝斤万序佩郡會双晒?匆祥頁傍?斤嵆議窃侏佚連、斤嵆議方象?珊嗤斤嵆嶄議方象窃侏辛參喘栖壓坪贋嶄仟秀斤嵆。
屁倖狛殻脅頁Java倡亭字?JVM?鏡羨議?匆祥頁傍?壓匯倖峠岬貧會双晒議斤嵆辛參壓総匯倖頼畠音揖議峠岬貧郡會双晒乎斤嵆。
窃ObjectInputStream 才ObjectOutputStream頁互蚊肝議方象送?万断淫根會双晒才郡會双晒斤嵆議圭隈。
ObjectOutputStream 窃淫根載謹亟圭隈栖亟光嶽方象窃侏?徽頁匯倖蒙艶議圭隈箭翌?
葎阻處幣會双晒壓Java嶄頁奕劔垢恬議?厘繍聞喘岻念縮殻嶄戻欺議Employee窃?邪譜厘断協吶阻泌和議Employee窃?乎窃糞孖阻Serializable 俊笥。
乎殻會峇佩朔?祥幹秀阻匯倖兆葎employee.ser猟周。乎殻會短嗤販採補竃?徽頁低辛參宥狛旗鷹冩響栖尖盾殻會議恬喘。
廣吭? 輝會双晒匯倖斤嵆欺猟周扮? 梓孚Java議炎彈埃協頁公猟周匯倖.ser制婢兆。
繍會双晒斤嵆亟秘猟周岻朔?辛參貫猟周嶄響函竃栖?旺拝斤万序佩郡會双晒?匆祥頁傍?斤嵆議窃侏佚連、斤嵆議方象?珊嗤斤嵆嶄議方象窃侏辛參喘栖壓坪贋嶄仟秀斤嵆。
屁倖狛殻脅頁Java倡亭字?JVM?鏡羨議?匆祥頁傍?壓匯倖峠岬貧會双晒議斤嵆辛參壓総匯倖頼畠音揖議峠岬貧郡會双晒乎斤嵆。
窃ObjectInputStream 才ObjectOutputStream頁互蚊肝議方象送?万断淫根會双晒才郡會双晒斤嵆議圭隈。
ObjectOutputStream 窃淫根載謹亟圭隈栖亟光嶽方象窃侏?徽頁匯倖蒙艶議圭隈箭翌?
publicfinalvoid writeObject(Object x)throwsIOException貧中議圭隈會双晒匯倖斤嵆?旺繍万窟僕欺補竃送。屢貌議ObjectInputStream 窃淫根泌和郡會双晒匯倖斤嵆議圭隈?
publicfinalObject readObject()throwsIOException,ClassNotFoundException乎圭隈貫送嶄函竃和匯倖斤嵆?旺繍斤嵆郡會双晒。万議卦指峙葎Object?咀緩?低俶勣繍万廬算撹栽癖議方象窃侏。
葎阻處幣會双晒壓Java嶄頁奕劔垢恬議?厘繍聞喘岻念縮殻嶄戻欺議Employee窃?邪譜厘断協吶阻泌和議Employee窃?乎窃糞孖阻Serializable 俊笥。
public class Employee implements java.io.Serializable
{
public String name;
public String address;
public transient int SSN;
public int number;
public void mailCheck()
{
System.out.println("Mailing a check to " + name
+ " " + address);
}
}
萩廣吭?匯倖窃議斤嵆勣?會双晒撹孔?駅倬諾怎曾倖訳周?- 乎窃駅倬糞孖 java.io.Serializable 斤嵆.
- 乎窃議侭嗤奉來駅倬頁辛會双晒議。泌惚嗤匯倖奉來音頁辛會双晒議?夸乎奉來駅倬廣苧頁玉壙議。
會双晒斤嵆
ObjectOutputStream 窃喘栖會双晒匯倖斤嵆?泌和議SerializeDemo箭徨糞箭晒阻匯倖Employee斤嵆?旺繍乎斤嵆會双晒欺匯倖猟周嶄。乎殻會峇佩朔?祥幹秀阻匯倖兆葎employee.ser猟周。乎殻會短嗤販採補竃?徽頁低辛參宥狛旗鷹冩響栖尖盾殻會議恬喘。
廣吭? 輝會双晒匯倖斤嵆欺猟周扮? 梓孚Java議炎彈埃協頁公猟周匯倖.ser制婢兆。
import java.io.*;
public class SerializeDemo
{
public static void main(String [] args)
{
Employee e = new Employee();
e.name = "Reyan Ali";
e.address = "Phokka Kuan, Ambehta Peer";
e.SSN = 11122333;
e.number = 101;
try
{
FileOutputStream fileOut =
new FileOutputStream("/tmp/employee.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(e);
out.close();
fileOut.close();
System.out.printf("Serialized data is saved in /tmp/employee.ser");
}catch(IOException i)
{
i.printStackTrace();
}
}
}
郡會双晒斤嵆:
和中議DeserializeDemo殻會郡會双晒壓SerializeDemo殻會嶄幹秀Employee斤嵆。
import java.io.*;
public class DeserializeDemo
{
public static void main(String [] args)
{
Employee e = null;
try
{
FileInputStream fileIn = new FileInputStream("/tmp/employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) in.readObject();
in.close();
fileIn.close();
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c)
{
System.out.println("Employee class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Name: " + e.name);
System.out.println("Address: " + e.address);
System.out.println("SSN: " + e.SSN);
System.out.println("Number: " + e.number);
}
}
塰佩潤惚泌和侭幣?
Deserialized Employee... Name: Reyan Ali Address:Phokka Kuan, Ambehta Peer SSN: 0 Number:101宸戦勣廣吭參和勣泣?
- readObject() 圭隈嶄議try/catch旗鷹翠晦編俺資 ClassNotFoundException呟械。斤噐JVM辛參郡會双晒斤嵆?万駅倬頁嬬校孀欺忖准鷹議窃。泌惚JVM壓郡會双晒斤嵆議狛殻嶄孀音欺乎窃?夸砺竃匯倖 ClassNotFoundException呟械。
- 廣吭?readObject()圭隈議卦指峙瓜廬晒撹Employee哈喘。
- 輝斤嵆瓜會双晒扮?奉來SSN議峙葎111222333?徽頁咀葎乎奉來頁玉壙議?乎峙短嗤瓜窟僕欺補竃送。侭參郡會双晒朔Employee斤嵆議SSN奉來葎0.
<貧匯准
和匯准>