嘿大家:] 只是想知道是否可以在不同类中读取和写入文件而不必关闭流并重新开始?
我需要使用DataOutputStream
和DataInputStream
。我目前有 2 个类,我的第一个类应该将所有对象写入文件。取决于它是什么类型的对象。我会将对象发送到另一个类,它将继续写入。
问题是我要么在流关闭之前只写 1 个对象,我不能继续写下一个对象,要么每个对象都会覆盖最后一个对象。
public int skrivTilFil( String filnavn)
{
try{DataOutputStream input = new DataOutputStream(new FileOutputStream(filnavn)))
{
Bok løper = første;
{
while(løper != null)
{
if(løper instanceof Skolebok)
{
Skolebok bok = (Skolebok) løper;
bok.skrivObjektTilFil(input);
}
løper = løper.neste;
}
}
}
}
public void skrivObjektTilFil(DataOutputStream output) // skolebok class
{
try
{
output.writeUTF("Skolefag");
output.writeInt(klassetrinn);
output.writeUTF(skolefag);
super.skrivObjektTilFil(output);
}catch(IOException e)
{
System.out.println("General I/O exception: "
e.getMessage());e.printStackTrace();
}
}
在这里我会得到IOException
,因为流已关闭,所以我不能继续下一个对象,但如果我DataOutputStream
在第二类中设置,我将覆盖每个对象。这个问题有简单的解决方案吗?