当前位置: 首页 > 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.xdnf.cn/news/1304911.html

相关文章:

  • HTML5新增属性
  • 【机器学习深度学习】OpenCompass 评测指标全解析:让大模型评估更科学
  • 从前端框架到GIS开发系列课程(26)在mapbox中实现地球自转效果,并添加点击事件增强地图交互性
  • 物联网(IoT)系统中,通信协议如何选择
  • 20250815在荣品RD-RK3588-MID开发板的Android13下调通TP芯片FT8206
  • 智慧零碳园区——解读2025 零碳产业园区实施路径规划【附全文阅读】
  • MqSQL中的《快照读》和《当前读》
  • SQL182 连续两次作答试卷的最大时间窗
  • C++第二十课:快递运费计算器 / 黑白配+石头剪刀布小游戏
  • Linux入门(十九)定时备份数据库
  • 第1篇_Go语言初探_环境搭建与HelloWorld
  • 802.11 Wi-Fi 竞争机制深度分析:CSMA/CA 与 DCF
  • 机器学习之PCA降维
  • Scrapy + Django爬虫可视化项目实战(二) 详细版
  • 轴机械臂cad【7张】三维图+设计说明书
  • 25.Linux 聚合链路与软件网桥
  • XXL-TOOL v2.0.0 发布 | Java工具类库
  • AI创业公司分析:Paloma
  • 自定义数据集(pytorchhuggingface)
  • SaltStack 基础
  • 【机器人-基础知识】ROS常见功能架构
  • 考研复习-计算机组成原理-第七章-IO
  • OpenCV---morphologyEx形态学操作
  • Jenkins+Python自动化持续集成详细教程
  • 【JavaEE】多线程 -- 死锁问题
  • Unity输入系统:旧版Input_System
  • 链路聚合与软件网桥配置
  • Mac(一)常用的快捷键整理
  • JavaScript(JS)DOM(四)
  • 【数据分享】2022 年黑龙江省小麦、玉米和水稻幼苗影像数据集