我正在使用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(文件文件,boolean append),其中old.rtf被假定附加到new.rtf,但是当我这样做时,old.rtf只写入new.rtf。
我做错了什么?
答案 0 :(得分:0)
当您打开要添加的文件时,使用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.rtf
和old2.rtf
连接到新文件new.rtf
。