我编写了一个 FileMerge 类,在其中获取 rtf 并用 SQL 数据替换某些标签。 一切正常,但有一部分我用一行或多行替换一个标签,它替换了文件,但在 Word 中打开时\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") 但没有成功。
当我在记事本中打开文件时,我可以看到所有代码都是富文本格式,除了这部分以正确的结构显示之外。 我想我需要一种方法以富文本格式编写此字符串,以便它在 Word 中显示良好。
谢谢你的帮助, 伊丹.
最佳答案
以下是一些与 RTF 格式相关的文档:http://search.cpan.org/~sburke/RTF-Writer/lib/RTF/Cookbook.pod#RTF_Document_Structure
它表示使用 \line
命令指定换行符。
关于java - 在java中将字符串写入rtf不会保留结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912985/