当前位置: 首页 > news >正文

文档对比(java-diff-utils)

maven依赖

        <dependency><groupId>io.github.java-diff-utils</groupId><artifactId>java-diff-utils</artifactId><version>4.9</version></dependency>

示例

@SpringBootTest
public class DemoTests {@Testvoid test2() throws IOException {//原始文件List<String> original = Files.readAllLines(new File("F:\\demo\\diff\\demo1.txt").toPath());//对比文件List<String> revised = Files.readAllLines(new File("F:\\demo\\diff\\demo2.txt").toPath());//两文件的不同点Patch<String> patch = DiffUtils.diff(original, revised);//生成统一的差异格式List<String> unifiedDiff = UnifiedDiffUtils.generateUnifiedDiff("test1.txt", "test2.txt", original, patch, 0);unifiedDiff.forEach(System.out::println);}
}

DiffUtils 相关API

# 用于获取两个文件的不同点
diff(List<T> original, List<T> revised, DiffAlgorithmListener progress) 
diff(List<T> original, List<T> revised) 
diff(List<T> original, List<T> revised, boolean includeEqualParts) 
diff(String sourceText, String targetText, DiffAlgorithmListener progress) 
diff(List<T> source, List<T> target, BiPredicate<T, T> equalizer) 
diff(List<T> original, List<T> revised, DiffAlgorithmI<T> algorithm, DiffAlgorithmListener progress) 
diff(List<T> original, List<T> revised, DiffAlgorithmI<T> algorithm, DiffAlgorithmListener progress, boolean includeEqualParts)
diff(List<T> original, List<T> revised, DiffAlgorithmI<T> algorithm)
diffInline(String original, String revised) 
diff(List<T> original, List<T> revised, DiffAlgorithmI<T> algorithm)
diffInline(String original, String revised) 
# 源文件数据 转 修订后的文件数据
patch(List<T> original, Patch<T> patch) 
# 修订后的文件数据 转 源文件数据
unpatch(List<T> revised, Patch<T> patch)

UnifiedDiffUtils 相关API

parseUnifiedDiff(List<String> diff)
generateUnifiedDiff(String originalFileName, String revisedFileName, List<String> originalLines, Patch<String> patch, int contextSize) 生成统一的差异格式
http://www.dtcms.com/a/333375.html

相关文章:

  • lidar2imu/auto_caliban以及manual_calib安装过程
  • 8.15网络编程——UDP和TCP并发服务器
  • qs是什么?
  • Python入门第3课:Python中的条件判断与循环语句
  • Ubuntu20.04下Remmina的VNC密码忘记后重置
  • 手机场景性能测试中的部分关键指标
  • Layui 语法详解与全功能示例
  • iOS 性能监控实战,多工具协作完成全方位分析
  • LCR 076. 数组中的第 K 个最大元素
  • 代码随想录刷题Day33
  • [优选算法专题二滑动窗口——长度最小的子数组]
  • 【完整源码+数据集+部署教程】电池柱状态检测系统源码和数据集:改进yolo11-TADDH
  • 华为交换机配置文件的相关命令和用法
  • 深入解析五大通信协议:TCP、UDP、HTTP_HTTPS、WebSocket与GRPC
  • Linux:套接字
  • shell脚本实现sha256sum校验并拷贝校验通过的文件
  • 从模拟实现插入去理解AVL树的旋转平衡
  • 波浪模型SWAN学习(1)——模型编译与波浪折射模拟(Test of the refraction formulation)
  • 为什么哈希表(字典)的查询速度有时会突然变慢
  • 2025世界职业院校技能大赛汽车制造与维修赛道(中职组)参赛指南
  • 提升化工制造质量的 7 种方法
  • 制造企业仓储管理焕新!金指云 “一物一码” 破解混乱难题,库存成本直降 30%
  • Spring 条件注解与 SPI 机制(深度解析)
  • 焊接机器人保护气体效率优化
  • 0100题解
  • 【大模型评估体系简介】
  • Linux 系统中网络管理
  • 企业现金流综合分析报告
  • Mybatis简单练习注解sql和配置文件sql+注解形式加载+配置文件加载
  • KNN算法:从电影分类到鸢尾花识别