日期:2014-05-20  浏览次数:20703 次

从一个DAT文件中依次读出对象并存入对象数组,返回数组的地址为空?!
之前已经在student.dat中写入了Student类型的数组
public Student[] readFromFile()
{
Student s[]=null;
try
{
ObjectInputStream input=new ObjectInputStream(new FileInputStream("student.dat"));
s=(Student[])input.readObject();//为什么s接收不到地址?
}
catch(IOException ex)
{
System.err.println("ERROR");
}
catch(ClassNotFoundException ex)
{
}
finally
{
for(int i=0; i<s.length; i++)
System.out.println(s[i].getId()+s[i].getName()+s[i].getScore());
return s;
}
}
编译报错for(int =0; i<s.length; i++)可能未初始化变量s,可是try语句块中不是给s赋值了吗?

------解决方案--------------------
当ObjectInputStream input=new ObjectInputStream(new FileInputStream("student.dat")); 这一句出现异常的时候s不就是null的吗?