基本上,我已经完成了我的程序,以便它显示字符串的差异并显示整行。我想突出显示(以颜色)线条中的差异。
例子:
Original at line 5
<rect x="60.01" width="855.38" id="rect_1" y="-244.35" height="641.13" style="stroke-width: 1; stroke: rgb(0, 0, 0); fill: none; "/>
Edited at line 5
<rect x="298.43" width="340.00" y="131.12" height="380.00" id="rect_1" style="stroke-width: 1; stroke: rgb(0, 0, 0); fill: rgb(255, 102, 0); "/>
在此示例中,宽度不同于“原始”版本和“编辑”版本。我希望能够强调这种差异和任何其他差异。
到目前为止我的代码:
Patch patch = DiffUtils.diff(centralFile, remoteFile);
StringBuffer resultsBuff = new StringBuffer(remoteFileData.length);
for (Delta delta : patch.getDeltas())
{
resultsBuff.append("Original at line " + delta.getOriginal().getPosition() + "\n");
for (Object line : delta.getOriginal().getLines())
{
resultsBuff.append(" " + line + "\n");
}
resultsBuff.append("Edited at line " + delta.getRevised().getPosition() + "\n");
for (Object line : delta.getRevised().getLines())
{
resultsBuff.append(" " + line + "\n");
}
resultsBuff.append("\n");
}
return resultsBuff.toString();
}
这将像之前的示例一样显示两行(原始版本和编辑版本)我希望能够突出显示实际所做的更改,有没有办法在 Java 中做到这一点?