合并 RTF 文件?

Merging RTF files?

我正在使用 Java,我需要将两个 .rtf 文件以两个 rtf 文件的原始格式附加、连接、合并或添加(以正确的术语为准)到一个 rtf 文件中.每个 rtf 文件都是一页长,所以我需要从这两个文件创建一个两页的 rtf 文件。

我还需要在新合并的 rtf 文件中的两个文件之间创建一个分页符。我去了 MS word 并能够将两个 rtf 文件组合在一起,但这只是创建了一个没有分页符的长 rtf 文件。

我有一个代码,但它只能以相同的方式将一个文件复制到另一个文件,但我需要帮助来调整这段代码,以便我可以将两个文件复制到一个文件中

  FileInputStream file = new FileInputStream("old.rtf");
  FileOutputStream out = new FileOutputStream("new.rtf");

  byte[] buffer = new byte[1024];

  int count;

  while ((count= file.read(buffer)) > 0) 
      out.write(buffer, 0, count);

如何在 FileInputStream 文件之上添加另一个 FileInputStream 对象,将其添加到 FileOutputStream 输出中,并在文件和对象之间使用分页符?

我完全卡住了。我可以在帮助下合并两个rtf文件,但是无法将两个rtf文件的原始格式保留到新格式中。

我尝试了 :

    FileInputStream file = new FileInputStream("old.rtf");
    FileOutputStream out = new FileOutputStream("new.rtf", true);

     byte[] buffer = new byte[1024];

     int count;
     while ((count= file.read(buffer)) > 0) 
     out.write(buffer, 0, count);

FileOutputStream(File file, boolean append),其中 old.rtf 应该附加到 new.rtf,但是当我这样做时,old.rtf 只是写入 new.rtf。

我做错了什么?

当您打开要添加到的文件时,使用 FileOutputStream(File file, boolean append) 并将 append 设置为 true,然后您可以添加到新文件,而不是覆盖它。

FileInputStream file = new FileInputStream("old.rtf");
FileOutputStream out = new FileOutputStream("new.rtf", true);

byte[] buffer = new byte[1024];

int count;

while ((count= file.read(buffer)) > 0) 
    out.write(buffer, 0, count);

这会将 old.rtf 附加到 new.rtf

您还可以这样做:

FileInputStream file = new FileInputStream("old1.rtf");
FileOutputStream out = new FileOutputStream("new.rtf");

byte[] buffer = new byte[1024];

int count;

while ((count= file.read(buffer)) > 0) 
    out.write(buffer, 0, count);

file.close();

file = new FileOutputStream("old2.rtf");
while ((count= file.read(buffer)) > 0) 
    out.write(buffer, 0, count);

这会将 old1.rtfold2.rtf 连接到新文件 new.rtf