java 中序列问题
java中时常遇到序列化的问题,但是自己也没有用过,这里问问大家.
1:在开发中序列化主要用在哪里?
2:能不能举个简单的例子.
先在这里谢谢大家了 !!
------解决方案--------------------
分给我算了...序列化的对象 首先要实现Serializable接口,这个接口是空接口,实现它说明了你的那个类具有了可序列化的能力.(也有书写的是 冰冻 解冻)就是
序列化和反序列化,   这个的作用就是把一个整体的对象存入内存中进行读取...
下面给个列子.希望有用
import java.io.Serializable;
public class User implements Serializable{
	String name;
	int age;
	String password;	
	public int getAge() {
		return age;
	}	
	public String toString(){
		return name+age+password;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public User(String name, int age, String password) {
		this.name = name;
		this.age = age;
		this.password = password;
	}	
}
//测试类
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.io.OutputStream;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class SerializableTest {
	List<User> li = new LinkedList<User>();	
	public SerializableTest(){		
		li.add(new User("李四",21,"321"));
		li.add(new User("王五",22,"456"));	
	}	
	//序列化(冰冻)
	public void ObjectOutput(){
		try {
			OutputStream os = new FileOutputStream("date.dat");
			ObjectOutputStream oos = new ObjectOutputStream(os);
			oos.writeObject(li);
			oos.close();
		} catch (
FileNotFoundException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		} catch (
IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}
	//反序列化(解冻)
	public void ObjectInput(){
		try {
			InputStream is = new FileInputStream("date.dat");
			ObjectInputStream ois = new ObjectInputStream(is);						
			List li = (List)ois.readObject();			
			//List可以用这种遍历元素
//			for(int i = 0; i<li.size();i++){
//				User u = (User)li.get(i);
//				System.out.println(u.getAge()+u.getName()+u.getPassword());
//			}		
			for(Iterator it = li.iterator();it.hasNext();){
				User u =  (User)it.next();
				System.out.println(u.getAge()+u.getName()+u.getPassword());
			}			
		} catch (File
NotFoundException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		} catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		} catch (
ClassNotFoundException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}	
	public static void main(String[] args) {
		SerializableTest st = new SerializableTest();
		st.ObjectInput();
	}
}