我写了一个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”)失败。
当我在记事本中打开文件时,我可以看到所有代码都是富文本,除了这部分显示在正确的结构中。 我想我需要一种以富文本格式编写这个字符串的方法,这样它就会显示出来。
谢谢你的帮助, IDAN。
答案 0 :(得分:1)
以下是与RTF格式有关的一些文档:http://search.cpan.org/~sburke/RTF-Writer/lib/RTF/Cookbook.pod#RTF_Document_Structure
它表示使用\line
命令指定换行符。
答案 1 :(得分:0)
在RTF中,文本中的新行不表示换行符 - 而是必须使用正确的控制序列来执行此操作。从略过the specification开始,\line
看起来像是一个强硬的突破,而\par
就像一个段落中断。