Java readObject预览数据,但不会读取或传输数据

Java readObject预览数据,但不会读取或传输数据,java,android,serialization,Java,Android,Serialization,我似乎找不到让readObject()将其内容传输到对象变量的方法。在执行这一行之前,我能够在Eclipse的表达式窗口中看到我用oos编写的哈希映射的数据,因此我知道数据就在那里,然而,当这行执行时,我跳转到带有EOF的IOException捕获。从我所读的内容来看,这是意料之中的,但我没有找到捕获EOF的方法(使用available()和readObjectInt()的循环不起作用)。我在Android模拟器上运行这个。如有任何建议,将不胜感激 public void Save(Pottyl

我似乎找不到让
readObject()
将其内容传输到对象变量的方法。在执行这一行之前,我能够在Eclipse的表达式窗口中看到我用oos编写的
哈希映射的
数据,因此我知道数据就在那里,然而,当这行执行时,我跳转到带有
EOF
IOException
捕获。从我所读的内容来看,这是意料之中的,但我没有找到捕获EOF的方法(使用available()和
readObjectInt()的循环不起作用)。我在Android模拟器上运行这个。如有任何建议,将不胜感激

public void Save(Pottylog data)
{
    try 
    {
        FileOutputStream fos = openFileOutput("Plog", Context.MODE_PRIVATE);
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(data.get());
        oos.close();
    }
    catch (FileNotFoundException ex)
    {
        ex.printStackTrace();
    }
    catch (java.io.IOException e)
    {
        e.printStackTrace();
    }
}

public HashMap<String, Integer> Load()
{
    HashMap<String, Integer> temp = null;

    try 
    {
        FileInputStream fis = openFileInput("Plog");
        ObjectInputStream ois = new ObjectInputStream(fis);
        temp = (HashMap<String, Integer>) ois.readObject();

    } 
    catch (FileNotFoundException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    } 
    catch (IOException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    catch (ClassNotFoundException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }

    return temp;
}
public void保存(Pottylog数据)
{
尝试
{
FileOutputStream fos=openFileOutput(“Plog”,Context.MODE_PRIVATE);
ObjectOutputStream oos=新的ObjectOutputStream(fos);
oos.writeObject(data.get());
oos.close();
}
捕获(FileNotFoundException ex)
{
例如printStackTrace();
}
捕获(java.io.ioe异常)
{
e、 printStackTrace();
}
}
公共HashMap加载()
{
HashMap temp=null;
尝试
{
FileInputStream fis=openFileInput(“Plog”);
ObjectInputStream ois=新ObjectInputStream(fis);
temp=(HashMap)ois.readObject();
} 
catch(filenotfounde异常)
{
//TODO自动生成的捕捉块
e、 printStackTrace();
返回null;
} 
捕获(IOE异常)
{
//TODO自动生成的捕捉块
e、 printStackTrace();
} 
catch(classnotfounde异常)
{
//TODO自动生成的捕捉块
e、 printStackTrace();
返回null;
}
返回温度;
}

EOFEException
表示您已到达流的末尾。我不知道您认为在调试器中看到了什么,但流中没有要读取的对象<代码>捕获(EOFEException exc)
起作用;此时,您应该关闭流并退出读取循环。不要误用
available()
作为流结束测试:这不是它的目的