Запись строки в RTF в Java не сохраняет структуру - PullRequest
0 голосов
/ 02 августа 2011

Я написал класс FileMerge, в котором я беру rtf и заменяю определенные теги данными SQL.Все в порядке, кроме одной части, в которой я заменяю один тег одной или несколькими строками, он заменяет файл, но \ n или \ r \ n не создает новую строку при открытии в слове.

код:

String otherFamilyString="\n";


    for(int i=0;i<OtherFamily.size();i=i+TotalArguments)
    {
        otherFamilyString +=  "\n"+OtherFamily.get(i+FamilyMbrId) +"|\t"+ OtherFamily.get(i+FamilyMbrName) +"|\t"+ OtherFamily.get(i+FamilyStatus)+"|\t"
        + OtherFamily.get(i+FamilyCoveragetype) +"|  "+ OtherFamily.get(i+FamilyRelationship) +"|" ;
        System.out.print(i+" "+otherFamilyString);


    }
    newtext = newtext.replaceAll("OTHERFAMILY",otherFamilyString);



    FileWriter writer = new FileWriter(outPutDir+memberInfo.get(GroupId).replace(" ", "")+newName.replace("*", "")); 
    writer.write(newtext);//write the new file 
    writer.close();

Я также попытался System.getProperty ("line.separator") безуспешно.

Когда я открываю файл в блокноте, я вижу, что весь код находится в richтекст, кроме этой части, которая отображается в правильной структуре.Я думаю, мне нужен способ написать эту строку в расширенном текстовом формате, чтобы она показала хорошее слово.

Спасибо за помощь, Идан.

Ответы [ 2 ]

1 голос
/ 02 августа 2011

Вот некоторая документация, относящаяся к формату RTF: http://search.cpan.org/~sburke/RTF-Writer/lib/RTF/Cookbook.pod#RTF_Document_Structure

В нем сказано указать новую строку с помощью команды \line.

0 голосов
/ 02 августа 2011

В RTF разрывы строк не обозначаются новой строкой в ​​тексте - вместо этого вы должны использовать правильную последовательность управления для этого. При просмотре спецификация , \line выглядит как разрыв строки, а \par - как разрыв абзаца.

...