【问题标题】:JTextArea JLabel compare two txt. files line by lineJTextArea JLabel 比较两个txt。文件逐行
【发布时间】:2012-07-30 18:32:30
【问题描述】:

大家。通过在同一区域显示,我已经完成了我的代码两个 txt 文件。

但我想逐行比较两个 txt 文件。我想用彩色线条显示差异,最后,不同的字母或单词,不同的线我要加粗。

我该如何开始?

谢谢,我的代码在这里。

【问题讨论】:

标签: java swing jtextfield jtextarea compareto


【解决方案1】:

JTextArea 可能会生成合适的视图,但您仍需要对差异进行建模。我会看看EclipseNetBeans 平台,或者svnview

【讨论】:

  • 对算法有什么建议吗?
  • 另见diff。老实说,是否有令人信服的理由重新发明它?
  • 只是因为我在互联网上没有找到简单的diff算法,弄糊涂了,所以不得不这样做。
  • JTextArea 只是纯文本,难道你不需要JTextPane 来为着色提供属性支持吗?
  • @MadProgrammer:好点,上面也是 Rob 提出的。 JTextArea更灵活一点,支持高亮;它可能是合适的。 vstl:AFAIK,没有简单的答案。你试过什么? diff-utils?
【解决方案2】:

您可能需要要求用户上传两个版本的文件。

在服务器中你需要逐行比较,并将文件差异的行号存储在另一个文件或位置

然后,在显示时,获取行号并给它们适当的装饰(即粗体等)。

【讨论】: