Java中的OutputStreams

时间:2013-08-07 04:14:08

标签: java swing file-io outputstream

我正在查看FileOutputStreamObjectOutputStream的文档,我还没有看到任何将“写指针”移动到指定位置的方法(尽管我已经看到了<的构造函数strong>完全重写文件中的所有数据,我看到了一个构造函数,只需将writData附加到文件的末尾。是否有任何可以使用的OutputStreams允许我写任何地方< /强>

另外,我一直遇到ObjectInputStream问题。我写了一些测试代码来测试对象更新(我真正计划做的是将两个JTable的数组写入文件,并在从客户端收到两个JTable时更新该数组。我曾尝试将String写入文本文件(我不认为文件扩展名对Java很重要,但我可能错了),出于某种原因,我似乎是ObjectInputStream使用是擦除文件的所有内容!有谁知道可能导致这种情况发生的原因? (即使我的程序正在做的唯一事情是通过ObjectInputStream读取字符串,似乎也会发生。)

2 个答案:

答案 0 :(得分:4)

  

我正在查看FileOutputStream和ObjectOutputStream的文档,我还没有看到任何将“写指针”移动到指定位置的方法

看看RandomAccessFile

  

我真正打算做的是将两个JTable的数组写入文件

JTable有一些声明为transient的字段,其中transient个对象无法序列化(反序列化后它们的引用将为null。)

答案 1 :(得分:0)

上面的答案回答了我的第一个问题,但至于文件本身重置,这是因为我尝试在构造函数中初始化一切(包括OutputStream)。 FileOutputStream的初始化导致要删除的文件中的任何数据。