Javaåºååä¸ååºååæ¯ä»ä¹ï¼ä¸ºä»ä¹éè¦åºååä¸ååºååï¼å¦ä½å®ç°Javaåºååä¸ååºååï¼æ¬æå´ç»è¿äºé®é¢è¿è¡äºæ¢è®¨ã
1.Javaåºååä¸ååºåå
Javaåºååæ¯ææJava对象转æ¢ä¸ºåèåºåçè¿ç¨ï¼èJavaååºååæ¯ææåèåºåæ¢å¤ä¸ºJava对象çè¿ç¨ã
2.为ä»ä¹éè¦åºååä¸ååºåå
æ们ç¥éï¼å½ä¸¤ä¸ªè¿ç¨è¿è¡è¿ç¨éä¿¡æ¶ï¼å¯ä»¥ç¸äºåéåç§ç±»åçæ°æ®ï¼å
æ¬ææ¬ãå¾çãé³é¢ãè§é¢çï¼ èè¿äºæ°æ®é½ä¼ä»¥äºè¿å¶åºåçå½¢å¼å¨ç½ç»ä¸ä¼ éãé£ä¹å½ä¸¤ä¸ªJavaè¿ç¨è¿è¡éä¿¡æ¶ï¼è½å¦å®ç°è¿ç¨é´çå¯¹è±¡ä¼ éå¢ï¼çæ¡æ¯å¯ä»¥çãå¦ä½åå°å¢ï¼è¿å°±éè¦Javaåºååä¸ååºååäºãæ¢å¥è¯è¯´ï¼ä¸æ¹é¢ï¼åéæ¹éè¦æè¿ä¸ªJava对象转æ¢ä¸ºåèåºåï¼ç¶åå¨ç½ç»ä¸ä¼ éï¼å¦ä¸æ¹é¢ï¼æ¥æ¶æ¹éè¦ä»åèåºåä¸æ¢å¤åºJava对象ã
å½æ们ææ°äºä¸ºä»ä¹éè¦Javaåºåååååºåååï¼æ们å¾èªç¶å°ä¼æ³Javaåºååç好å¤ãå
¶å¥½å¤ä¸æ¯å®ç°äºæ°æ®çæä¹
åï¼éè¿åºååå¯ä»¥ææ°æ®æ°¸ä¹
å°ä¿åå°ç¡¬çä¸ï¼é常åæ¾å¨æ件éï¼ï¼äºæ¯ï¼å©ç¨åºååå®ç°è¿ç¨éä¿¡ï¼å³å¨ç½ç»ä¸ä¼ é对象çåèåºåã
3.å¦ä½å®ç°Javaåºååä¸ååºåå
1ï¼JDKç±»åºä¸åºååAPI
java.io.ObjectOutputStreamï¼è¡¨ç¤ºå¯¹è±¡è¾åºæµ
å®çwriteObject(Object obj)æ¹æ³å¯ä»¥å¯¹åæ°æå®çobj对象è¿è¡åºååï¼æå¾å°çåèåºååå°ä¸ä¸ªç®æ è¾åºæµä¸ã
java.io.ObjectInputStreamï¼è¡¨ç¤ºå¯¹è±¡è¾å
¥æµ
å®çreadObject()æ¹æ³æºè¾å
¥æµä¸è¯»ååèåºåï¼åæå®ä»¬ååºååæ为ä¸ä¸ªå¯¹è±¡ï¼å¹¶å°å
¶è¿åã
2ï¼å®ç°åºååçè¦æ±
åªæå®ç°äºSerializableæExternalizableæ¥å£çç±»ç对象æè½è¢«åºååï¼å¦åæåºå¼å¸¸ã
3ï¼å®ç°Java对象åºååä¸ååºååçæ¹æ³
åå®ä¸ä¸ªStudentç±»ï¼å®ç对象éè¦åºååï¼å¯ä»¥æå¦ä¸ä¸ç§æ¹æ³ï¼
æ¹æ³ä¸ï¼è¥Studentç±»ä»
ä»
å®ç°äºSerializableæ¥å£ï¼åå¯ä»¥æç
§ä»¥ä¸æ¹å¼è¿è¡åºåååååºåå
ObjectOutputStreaméç¨é»è®¤çåºååæ¹å¼ï¼å¯¹Student对象çétransientçå®ä¾åéè¿è¡åºååã
ObjcetInputStreaméç¨é»è®¤çååºååæ¹å¼ï¼å¯¹å¯¹Student对象çétransientçå®ä¾åéè¿è¡ååºååã
æ¹æ³äºï¼è¥Studentç±»ä»
ä»
å®ç°äºSerializableæ¥å£ï¼å¹¶ä¸è¿å®ä¹äºreadObject(ObjectInputStream in)åwriteObject(ObjectOutputSteam out)ï¼åéç¨ä»¥ä¸æ¹å¼è¿è¡åºååä¸ååºååã
ObjectOutputStreamè°ç¨Student对象çwriteObject(ObjectOutputStream out)çæ¹æ³è¿è¡åºååã
ObjectInputStreamä¼è°ç¨Student对象çreadObject(ObjectInputStream in)çæ¹æ³è¿è¡ååºååã
æ¹æ³ä¸ï¼è¥Studentç±»å®ç°äºExternalnalizableæ¥å£ï¼ä¸Studentç±»å¿
é¡»å®ç°readExternal(ObjectInput in)åwriteExternal(ObjectOutput out)æ¹æ³ï¼åæç
§ä»¥ä¸æ¹å¼è¿è¡åºååä¸ååºååã
ObjectOutputStreamè°ç¨Student对象çwriteExternal(ObjectOutput out))çæ¹æ³è¿è¡åºååã
ObjectInputStreamä¼è°ç¨Student对象çreadExternal(ObjectInput in)çæ¹æ³è¿è¡ååºååã
4ï¼JDKç±»åºä¸åºååçæ¥éª¤
æ¥éª¤ä¸ï¼å建ä¸ä¸ªå¯¹è±¡è¾åºæµï¼å®å¯ä»¥å
è£
ä¸ä¸ªå
¶å®ç±»åçç®æ è¾åºæµï¼å¦æ件è¾åºæµï¼
ObjectOutputStream out = new ObjectOutputStream(new fileOutputStream(âD:\\objectfile.objâ));
æ¥éª¤äºï¼éè¿å¯¹è±¡è¾åºæµçwriteObject()æ¹æ³å对象ï¼
out.writeObject(âHelloâ);
out.writeObject(new Date());
5ï¼JDKç±»åºä¸ååºååçæ¥éª¤
æ¥éª¤ä¸ï¼å建ä¸ä¸ªå¯¹è±¡è¾å
¥æµï¼å®å¯ä»¥å
è£
ä¸ä¸ªå
¶å®ç±»åè¾å
¥æµï¼å¦æ件è¾å
¥æµï¼
ObjectInputStream in = new ObjectInputStream(new fileInputStream(âD:\\objectfile.objâ));
æ¥éª¤äºï¼éè¿å¯¹è±¡è¾åºæµçreadObject()æ¹æ³è¯»å对象ï¼
String obj1 = (String)in.readObject();
Date obj2 = (Date)in.readObject();
说æï¼ä¸ºäºæ£ç¡®è¯»åæ°æ®ï¼å®æååºååï¼å¿
é¡»ä¿è¯å对象è¾åºæµå对象ç顺åºä¸ä»å¯¹è±¡è¾å
¥æµä¸è¯»å¯¹è±¡ç顺åºä¸è´ã
为äºæ´å¥½å°ç解Javaåºååä¸ååºååï¼éæ©æ¹æ³ä¸ç¼ç å®ç°ã
Studentç±»å®ä¹å¦ä¸ï¼
[java] view plaincopy
package com.jieke.io;
import java.io.Serializable;
/**
*Title:å¦çç±»
*Description:å®ç°åºååæ¥å£çå¦çç±»
*Copyright: copyright(c) 2012
*Filename: Student.java
*@author Wang Luqing
*@version 1.0
*/
public class Student implements Serializable
{
private String name;
private char sex;
private int year;
private double gpa;
public Student()
{
}
public Student(String name,char sex,int year,double gpa)
{
this.name = name;
this.sex = sex;
this.year = year;
this.gpa = gpa;
}
public void setName(String name)
{
this.name = name;
}
public void setSex(char sex)
{
this.sex = sex;
}
public void setYear(int year)
{
this.year = year;
}
public void setGpa(double gpa)
{
this.gpa = gpa;
}
public String getName()
{
return this.name;
}
public char getSex()
{
return this.sex;
}
public int getYear()
{
return this.year;
}
public double getGpa()
{
return this.gpa;
}
}
æStudentç±»ç对象åºååå°æ件O:\\Java\\com\\jieke\\io\\student.txtï¼å¹¶ä»è¯¥æ件ä¸ååºååï¼åconsoleæ¾ç¤ºç»æã代ç å¦ä¸ï¼
[java] view plaincopy
import java.io.*;
/**
*Title:åºç¨å¦çç±»
*Description:å®ç°å¦çç±»å®ä¾çåºååä¸ååºåå
*Copyright: copyright(c) 2012
*Filename: UseStudent.java
*@author Wang Luqing
*@version 1.0
*/
public class UseStudent
{
public static void main(String[] args)
{
Student st = new Student("Tom",'M',20,3.6);
File file = new File("O:\\Java\\com\\jieke\\io\\student.txt");
try
{
file.createNewFile();
}
catch(IOException e)
{
e.printStackTrace();
}
try
{
//Student对象åºååè¿ç¨
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(st);
oos.flush();
oos.close();
fos.close();
//Student对象ååºååè¿ç¨
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
Student st1 = (Student) ois.readObject();
System.out.println("name = " + st1.getName());
System.out.println("sex = " + st1.getSex());
System.out.println("year = " + st1.getYear());
System.out.println("gpa = " + st1.getGpa());
ois.close();
fis.close();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
ç»æå¦ä¸æ示ï¼
name = Tom
sex = M
year = 20
gpa = 3.6
æ»ç»ï¼
1ï¼Javaåºååå°±æ¯æ对象转æ¢æåèåºåï¼èJavaååºååå°±æ¯æåèåºåè¿åæJava对象ã
2ï¼éç¨Javaåºååä¸ååºååææ¯ï¼ä¸æ¯å¯ä»¥å®ç°æ°æ®çæä¹
åï¼å¨MVC模å¼ä¸å¾æ¯æç¨ï¼äºæ¯å¯ä»¥å¯¹è±¡æ°æ®çè¿ç¨éä¿¡ã
温馨提示:答案为网友推荐,仅供参考