class User() implements Serializable
{
String name;
String password;
public User(String str1,String str2)
{
this.name=str1;
this.password=str2;
}
} 假如我实例了N个User 对象
File file=new File("C:\\user.txt");
FileOutputStream fos=new FileOutputStrea(file); ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(User temp);//把这些对象写到文件中
但我用
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
ois.readObject() //读出文件中的对象
来读取对象 只能读第一个对象 ? 我希望能读出所有对象
请各位高手指点一哈
不胜感激
.cn
{
String name;
String password;
public User(String str1,String str2)
{
this.name=str1;
this.password=str2;
}
} 假如我实例了N个User 对象
File file=new File("C:\\user.txt");
FileOutputStream fos=new FileOutputStrea(file); ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(User temp);//把这些对象写到文件中
但我用
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
ois.readObject() //读出文件中的对象
来读取对象 只能读第一个对象 ? 我希望能读出所有对象
请各位高手指点一哈
不胜感激
.cn
解决方案 »
- 弄了半天居然发现RandomAccessFile是这么一回事?
- Java SQL批处理异常,如何得到出问题的那条sql信息
- final修饰的变量可以被改变了?高手来看看
- 请教:tomcat6.0 安装目录 没有common,和classes目录项。不知道为何???
- netbeans IDE 5.5.1 RUN問題
- 急!请高手帮忙,实现一个JAVA的算法!
- 大家帮我看看这段代码,为什么编译会出错
- 如何把对象和一般数据写入同一个txt文件
- 初学java,请推荐基本质量高的书籍,谢谢
- 怎样设置使用户在TextArea输入的内容不许超出TextArea的可视大小?
- 请问java如何开发office应用程序
- 展现网络拓扑结构
* project_name: Test
* package_name: CSDN_Test_20071126
* package_declaration: package CSDN_Test_20071126;
* filename: ReadAllObject.java
* author: yuhaiming
* date: 2007-11-26
*/
package CSDN_Test_20071126;
import java.io.*;
/**
*
* @author yuhaiming
*
*/
public class ReadAllObject {
/**
* 主处理函数
*/
public static void disposal()throws Exception{
User[] users = new User[5];
for(int i=0;i<users.length;i++){
users[i] = new User();
users[i].setName("name"+i);
users[i].setPassword("password"+i);
} File file=new File("D:\\workspace\\Test\\user.txt");
FileOutputStream fos=new FileOutputStream(file);
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int i=0;i<users.length;i++){
//System.out.println(users[i].getName());
//System.out.println(users[i].getPassword());
oos.writeObject(users[i]);
}
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
User curUser;
try{
while((curUser = (User)ois.readObject())!=null){
System.out.println(curUser.getName());
System.out.println(curUser.getPassword());
}
}catch(Exception e){
}
}
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
disposal();
}}class User implements java.io.Serializable
{
String name;
String password; 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;
}
}
而不是返回null
while((curUser = (User)ois.readObject())!=null){
System.out.println(curUser.getName());
System.out.println(curUser.getPassword());
}
}catch(Exception e){
}
手动处理掉这个异常,呵呵,谁有更好的方法指点下哈
while(true)
{
User user=null;
try
{
user=(User)ois.readObject();
}
catch(Exception ex){user=null;}
if(user==null)
break;
System.out.println(curUser.getName());
System.out.println(curUser.getPassword());
}
while((curUser = (User)ois.readObject())!=null){
System.out.println(curUser.getName());
System.out.println(curUser.getPassword());
}
}catch(Exception e){
}
这种方法 会抛这个java.io.StreamCorruptedException异常
2楼的大哥 你的代码 我执行不成功
抛Exception in thread "main" java.lang.NoSuchMethodError: ceshi.User.setName(Ljava/lang/String;)V
at ceshi.ReadAllObject.disposal(ReadAllObject.java:47)
at ceshi.ReadAllObject.main(ReadAllObject.java:77)
users[i].setName("name"+i); 这行 报错