2016-12-19 3 views
0

저는 Java를 사용하고 있습니다. 올바른 용어 인 두 개의 .rtf 파일을 두 rtf 파일의 원래 형식으로 하나의 rtf 파일에 추가, 병합, 병합 또는 추가해야합니다. 각 rtf 파일은 페이지가 길기 때문에 두 파일에서 두 페이지 rtf 파일을 만들어야합니다.RTF 파일을 병합 하시겠습니까?

새 결합 된 rtf 파일에서 두 파일 사이에 페이지 나누기를 만들어야합니다. 나는 MS 단어로 가서 두 개의 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); 
이 에서, old.rtf가 old.rtf이 new.rtf에 추가 할 생각되지만, FileOutputStream에 (파일 파일, 부울 추가)합니다, 그냥

:

은 내가 시도 new.rtf에 기록됩니다.

내가 뭘 잘못하고 있니?

답변

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

new.rtfold.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); 

새 파일 new.rtf- old1.rtfold2.rtf을 연결할 것이다.

+0

대답을 자세히 설명 할 수있는 방법이 있습니까? 그것은 일종의 의미를 지니지 만, 여전히 매우 손실됩니다. 고맙습니다. – user2852918

+0

윌 하튼 (Hartung), 정말로 귀하의 답변에 감사 드리며 그 권리를 알고 있습니다. 그러나 이해하기 위해 머리를 얻을 수는 없습니다. 나는 그것을 넣으려고 노력하고 나를 위해 일하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?? 나는 이것에 너무 새롭고 그것을 얻지 않고있다. – user2852918

관련 문제