【发布时间】:2015-08-25 14:06:48
【问题描述】:
我有一个 StringBuffer,它包含一个文件中的多行,所有这些都基于较大行的模式合并在一起以进行比较。进行更改后,我基本上需要撤消将这些行合并在一起以重新写入新的 StringBuffer 以重新写入文件原来的样子。
例如,文件包含这样的一行(都在一行上):
'macro NDD89 Start;Load; shortDescription; macro(continued) stepone;steptwo,do stuff macro(continued) stepthree;more steps; do stuff macro(continued) finalstep'
我需要将该行重写为多行(在有字符串“macro(continued)”的地方拆分):
macro NDD89 Start;Load; shortDescription;
macro(continued) stepone;steptwo,do stuff
macro(continued) stepthree;more steps; do stuff
macro(continued) finalstep'
如果有帮助,这里是我的代码 sn-p,它执行将原始文件放在多行中的第一部分并将它们组合到组并写入新文件:
StringBuffer sb = new StringBuffer();
Buffer = new FileReader(C:/original.txt);
BufferedReader User_File = new BufferedReader(Buffer);
String Line_of_Text;
while((Line_of_Text = User_File.readLine()) != null){
if(Line_of_Text.startsWith("macro ")){
sb.append("\n"+Line_of_Text);
}else if(Line_of_Text.startsWith("macro(continued)")){
sb.append(Line_of_Text);
}else{
sb.append(Line_of_Text+"\n");
}
}
BufferedWriter OutFile = new BufferedWriter(new FileWriter("C:/newFile.txt"));
OutFile.write(sb.toString());
OutFile.flush();
OutFile.close();
我一直坚持这样做有一段时间了,有什么建议/想法吗?
【问题讨论】:
标签: java stringbuffer