为什么从文件中读取对象总是有问题呢?帮帮忙~~
对象是这样的:
public class InitRecord implements java.io.Serializable
{
private Hashtable column_value;
private Vector column_name;
public InitRecord(Hashtable column_value, Vector column_name)
{
this.column_value = column_value;
this.column_name = column_name;
}
}
如果写一个,读一个,没有问题,可如果写若干个,再读的话就出现异常了,异常如下:
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at File.readRecord.read(readRecord.java:26)
at File.test.main(test.java:16)
这是从文件中读对象的操作:
package File;
import java.io.*;
/**
* Created by IntelliJ IDEA.
* User: DeceitLei
* Date: 2003-5-27
* Time: 9:49:03
* To change this template use Options | File Templates.
*/
public class readRecord
{
public void read()
{
File theFile = new File("records.bin");
ObjectInputStream objectIn = null;
int objectCount = 0;
InitRecord object = null;
try
{
objectIn = new ObjectInputStream(new FileInputStream(theFile));
while (true)
{
object = (InitRecord)objectIn.readObject();
objectCount++;
}
}
catch (ClassNotFoundException cnfe)
{
cnfe.printStackTrace();
}
catch (EOFException e)
{
System.out.println("EOF readched. " + objectCount + " objects read.");
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
objectIn.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}