2016-12-19 5 views
0

Ich benutze Java und ich muss, je nachdem, was der richtige Begriff ist, zwei .rtf-Dateien im ursprünglichen Format für beide rtf-Dateien in einer rtf-Datei anfügen, concat, zusammenführen oder hinzufügen. Jede der rtf-Dateien ist eine Seite lang, also muss ich aus den zwei Dateien eine zweiseitige rtf-Datei erstellen.RTF-Dateien zusammenführen?

Ich muss auch einen Seitenumbruch zwischen den beiden Dateien in der neuen kombinierten RTF-Datei erstellen. Ich ging zu MS-Word und war in der Lage, die beiden RTF-Dateien miteinander zu kombinieren, aber das nur eine lange RTF-Datei ohne Seitenumbruch erstellt.

Ich habe einen Code, sondern nur kopiert eine Datei in einer anderen Datei auf die gleiche Weise, aber ich brauche Hilfe auf diesen Code zwicken, so kann ich

zwei Dateien in eine Datei kopieren
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); 

Wie Ich füge ein weiteres FileInputStream-Objekt über der FileInputStream-Datei in FileOutputStream aus, mit einem Seitenumbruch zwischen Datei und Objekt?

Ich bin total fest. Ich war in der Lage, die beiden RTF-Dateien mit Hilfe zu kombinieren, konnte aber nicht das ursprüngliche Format der beiden RTF-Datei in das neue beibehalten.

Ich habe versucht, die:

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 Datei, boolean append), wo die old.rtf zu new.rtf anhängen annehmen wird, aber wenn ich es tun, ist die old.rtf nur geschrieben in die neue.rtf.

Was mache ich falsch?

Antwort

0

Wenn Sie die Datei öffnen, die Sie hinzufügen möchten, verwenden Sie FileOutputStream(File file, boolean append) mit append auf True, dann können Sie die neue Datei hinzufügen, anstatt sie zu überschreiben.

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); 

Dies wird old.rtf-new.rtf anhängen.

Sie können auch tun:

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); 

Das old1.rtf und old2.rtf in die neue Datei new.rtf verketten wird.

+0

Gibt es irgendwelche Möglichkeiten, wie Sie die Antwort erarbeiten können. Es macht irgendwie Sinn, aber immer noch sehr verloren. Danke – user2852918

+0

Will Hartung, ich weiß deine Antwort sehr zu schätzen und weiß, dass es richtig ist, aber ich kann einfach nicht meinen Kopf verstehen. Ich versuche es reinzulegen und funktioniert nicht für mich. Was mache ich falsch?? Ich bin einfach zu neu und verstehe es einfach nicht. – user2852918