我正在查看FileOutputStream和ObjectOutputStream的文档,我还没有看到任何将“写指针”移动到指定位置的方法(尽管我已经看到了<的构造函数strong>完全重写文件中的所有数据,我看到了一个构造函数,只需将writData附加到文件的末尾。是否有任何可以使用的OutputStreams允许我写任何地方< /强>
另外,我一直遇到ObjectInputStream问题。我写了一些测试代码来测试对象更新(我真正计划做的是将两个JTable
的数组写入文件,并在从客户端收到两个JTable
时更新该数组。我曾尝试将String
写入文本文件(我不认为文件扩展名对Java很重要,但我可能错了),出于某种原因,我似乎是ObjectInputStream
使用是擦除文件的所有内容!有谁知道可能导致这种情况发生的原因? (即使我的程序正在做的唯一事情是通过ObjectInputStream读取字符串,似乎也会发生。)
答案 0 :(得分:4)
我正在查看FileOutputStream和ObjectOutputStream的文档,我还没有看到任何将“写指针”移动到指定位置的方法
我真正打算做的是将两个JTable的数组写入文件
JTable
有一些声明为transient
的字段,其中transient
个对象无法序列化(反序列化后它们的引用将为null
。)
答案 1 :(得分:0)
上面的答案回答了我的第一个问题,但至于文件本身重置,这是因为我尝试在构造函数中初始化一切(包括OutputStream
)。 FileOutputStream
的初始化导致要删除的文件中的任何数据。