Java中的OutputStreams

Java中的OutputStreams,java,swing,file-io,outputstream,Java,Swing,File Io,Outputstream,我查阅了和的文档,没有看到任何将“写指针”移动到指定位置的方法(虽然我见过一个构造函数,用于完全重写文件中的所有数据,也见过一个构造函数,用于将WriteData附加到文件末尾。是否有任何OutputStreams可供我在任何地方写入 另外,ObjectInputStream也有问题。我编写了一些测试代码来测试对象更新(我真正计划做的是将两个JTables的数组写入一个文件,并在从客户端收到两个JTables时更新该数组)。我尝试将字符串写入一个文本文件(我不认为文件扩展名对Java很重要,但我

我查阅了和的文档,没有看到任何将“写指针”移动到指定位置的方法(虽然我见过一个构造函数,用于完全重写文件中的所有数据,也见过一个构造函数,用于将WriteData附加到文件末尾。是否有任何OutputStreams可供我在任何地方写入

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

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

看一看

我真正计划做的是将两个JTable的数组写入一个文件

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

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

看一看

我真正计划做的是将两个JTable的数组写入一个文件


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

上面的答案回答了我的第一个问题,但对于文件本身的重置,这是因为我尝试初始化构造函数中的所有内容(包括
OutputStream
s).FileOutputStream的初始化导致文件中的所有数据都被删除。

上面的答案回答了我的第一个问题,但关于文件本身的重置,这是因为我尝试初始化构造函数中的所有内容(包括
OutputStream
s).FileOutputStream的初始化导致文件中的任何数据都被擦除。

请看一看。由于这种情况正在发生,我担心如果我尝试使用ObjectInputStream“真实地”读取对象,它可能会破坏对象序列化!!看一看。我担心,由于这种情况正在发生,如果我尝试使用ObjectInputStream“真实地”读取对象,它可能会破坏对象序列化!!是的,所有的编辑材料和渲染器,我不需要!发送的JTables中的单元格是不可编辑的,它们严格用于收集数据(来自数学游戏).是的,我不需要所有的编辑材料和渲染器!发送的JTables中的单元格是不可编辑的,它们严格用于收集数据(来自数学游戏)。