OutputStream删除文件内容JAVA

OutputStream删除文件内容JAVA,java,file,objectoutputstream,Java,File,Objectoutputstream,我有需要记录序列化对象的文件。我打开ObjectOutputStream以写入文件。若我并没有在文件中写入任何内容,那个么文件内容就会被删除。我不希望在制作ObjectOutputStream时删除内容 我的代码(我使用Guice) 创建ObjectOutputStream本身不会覆盖任何内容。我怀疑您刚刚创建了一个新的FileOutputStream,它将截断任何当前内容,除非您告诉它追加。我想你想要: FileOutputStream fos = new FileOutputStream(f

我有需要记录序列化对象的文件。我打开
ObjectOutputStream
以写入文件。若我并没有在文件中写入任何内容,那个么文件内容就会被删除。我不希望在制作
ObjectOutputStream
时删除内容

我的代码(我使用Guice)


创建
ObjectOutputStream
本身不会覆盖任何内容。我怀疑您刚刚创建了一个新的
FileOutputStream
,它将截断任何当前内容,除非您告诉它追加。我想你想要:

FileOutputStream fos = new FileOutputStream(filename, true);
使其附加到文件而不是覆盖


编辑:是的,根据您的编辑,您正在创建一个新的
FileOutputStream
,而不告诉它追加。因此,它将覆盖文件。

我解决了这个问题。我使用provider,而不是在beginwithguice中实例化OutputStrams

@Inject @ArticleOutputStream
Provider<OutputStream> articleObjectOutputStream;

articleOutputStream.get();
@Inject@ArticleOutputStream
提供者articleObjectOutputStream;
articleOutputStream.get();

现在工作很好。

为什么阅读这些该死的文档这么难?我不明白(
@Inject @ArticleOutputStream
Provider<OutputStream> articleObjectOutputStream;

articleOutputStream.get();