如何利用文件流保存&读取一个用户信息数组,迫切等待ing
我定义了1个用户信息类
class Info {
private String m_name;
private int m_age;
private long m_salary;
private boolean m_ishandled;
Info() {
m_name = "";
m_age = -1;
m_salary = 0;
m_ishandled = false;
}
public void setUser(String name,int age,long salary,boolean ishandled) {
m_name = name;
m_age = age;
m_salary = salary;
m_ishandled = ishandled;
}
}
然后在main()里定义一个用户信息数组长度为10
Info[] info = new Info[10];
利用方法setUser()给数组中各个变量赋值,请问如何利用文件流把这个用户信息数组保存到文件,然后又能从文件中读出。
迫切问题,在线等待,解决就给分....................
问题点数:100、回复次数:8Top
1 楼ChDw(米)回复于 2003-08-04 11:08:43 得分 10
class Info implements java.io.Serialable{
这样你就可以直接用ObjectOutputStream来write这些Object了Top
2 楼clmate(紫霞郎)回复于 2003-08-04 11:09:25 得分 0
这不是很easy嘛。
先new 一个FileWriter,然后取数组中的用户信息,用write()方法写入就行了。也可以用别的InputStream,看一下API就明白了。Top
3 楼formalin(福尔马林)回复于 2003-08-04 11:17:11 得分 0
楼主的意思是要自己做数据库吗?Top
4 楼sgdb(神天月晓)回复于 2003-08-04 11:24:30 得分 0
这种东西,楼主要是不想写在数据库里,那就写在xml里好了!Top
5 楼ghostcow(バカのOX)回复于 2003-08-04 11:26:59 得分 0
To ChDw(米):
implements java.io.Serialable 之后有报错"java.io.Serialable can not be resloved or is not a valid superinterface",偶是菜鸟,如何解决
Top
6 楼ghostcow(バカのOX)回复于 2003-08-04 11:30:12 得分 0
To clmate(紫霞郎):
写是写进去了,可怎么读出来啊?怎么判别文本里的分别保存的信息属于哪个用户?
Top
7 楼ghostcow(バカのOX)回复于 2003-08-04 11:33:26 得分 0
To formalin(福尔马林) 和 sgdb(神天月晓) :
不是要做数据库,也不用xml,只是想了解下java的数据结构和文件Top
8 楼Kidwish(连接失败)回复于 2003-08-04 13:02:20 得分 90
import java.io.*;
public class UserInfoSerialization {
public static void main(String args[]) {
// Object serialization
try {
Info obj1 = new Info();
//System.out.println("[USER_INFO -> FILE]: " + obj1.getUserInfo());
FileOutputStream fos = new FileOutputStream("UserInfo");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj1);
oos.flush();
oos.close();
} catch(Exception e) {
System.out.println("Exception during serialization: " + e);
System.exit(0);
}
// Object deserialization
try {
Info obj2;
FileInputStream fis = new FileInputStream("UserInfo");
ObjectInputStream ois = new ObjectInputStream(fis);
obj2 = (Info)ois.readObject();
ois.close();
//System.out.println("[FILE -> USER_INFO]: " + obj2.getUserInfo());
}catch(Exception e) {
System.out.println("Exception during deserialization: " + e);
System.exit(0);
}
}
}
class Info implements Serializable{
private String m_name;
private int m_age;
private long m_salary;
private boolean m_ishandled;
Info() {
m_name = "undefined";
m_age = -1;
m_salary = 0;
m_ishandled = false;
}
public void setUserInfo(String name,int age,long salary,boolean ishandled) {
m_name = name;
m_age = age;
m_salary = salary;
m_ishandled = ishandled;
}
public String getUserInfo() {
return "USER_NAME = "+m_name+"; AGE = "+m_age+"; SALARY = "+m_salary+"; IS_HANDLED = "+m_ishandled;
}
}
Top




