// 使用stream方法实现public static List<String> fileterData() throws IOException {String file1Content = new String(Files.readAllBytes(Paths.get(".\\src\\main\\resources\\File1")));String file2Content = new String(Files.readAllBytes(Paths.get(".\\src\\main\\resources\\File2")));// String 的 split方法有隐患,WINDOWS下换行符使用\r\n,Linux下使用的是\nList<String> file1Str = Arrays.asList(file1Content.split("\r\n"));List<String> file2Str= Arrays.asList(file2Content.split("\r\n"));// 过滤收集,遍历file1,每个都在file2中进行检查一遍,如果file2中没有的就收集起来List<String> filtedStr = file1Str.stream().filter(t -> false == file2Str.contains(t)).collect(Collectors.toList());
        return filtedStr;}

上述是通过流的方式实现的,下面还有一种方法,通过BufferedReader,在读取文件的时候也略有差异:

    // 找出file1中有但是file2中没有的数据public static List<String> filterData() throws IOException {// TODO Auto-generated method stubString file1Path = ".\\src\\main\\resources\\File1";String file2Path = ".\\src\\main\\resources\\File2";BufferedReader file1br = new BufferedReader(new FileReader(file1Path));BufferedReader file2br = new BufferedReader(new FileReader(file2Path));String line = "";List<String> file2String= new ArrayList<>();while ((line = file2br.readLine()) != null) {file2String.add(line);}while ((line = file1br.readLine()) != null) {if (false == file2String.contains(line)) {System.out.println(line);} else {file2String.remove(line);}}
return file2String;}

文件格式样例  File1:

String1

String2

String3

文件格式样例  File2:

String1

String2

String4

转载于:https://www.cnblogs.com/ilazysoft/p/6267103.html

找出文件1中有而文件2中没有的数据相关推荐

  1. 计算机一级查找同类型文件,如何快捷找出电脑内的重复文件

    有时特喜欢收集各种软件和资料,但是时间久了,很多软件和资料之前下载过了,后来不记得了,又下载了,这样重复的非常多.这样重复的文件多了,占了大量的磁盘空间,也影响电脑运行性能,当然是要清理掉,但这些文件 ...

  2. 如何测试电脑软件重复或多,如何快捷找出电脑内的重复文件(两个工具)

    我特喜欢收集各种软件和资料,但是时间久了,很多软件和资料之前下载过了,后来不记得了,又下载了,这样重复的非常多.还有,我喜欢备份文件,就算一些普通的文件,也会随手临时备份一下,过后,没有删除,就忘记了 ...

  3. 如何找出电脑内的重复文件,查找电脑磁盘重复文件的方法

    不少小伙伴都有收集各种软件.图片和资料的习惯,但是时间久了,有许多软件.图片和资料已经下载过了,但是忘记了,又重新下载了,这样导致电脑里面有很多重复的软件.图片和资料.如何找出电脑内的重复文件? 我们 ...

  4. Linux找出某所有者的所有文件

    Linux找出某所有者的所有文件的指令为:find / -user username find的用法手册如下: 姓名 find-在目录层次结构中搜索文件 简介 find [-H] [-L] [-P] ...

  5. 2022-12-01:从不订购的客户。找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C

    2022-12-01:从不订购的客户.找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C ...

  6. 编写一个递归算法,找出从自然数1,2,3,…,n中任取r个数的所有组合。例如n=5,r=3时所有组合为543,542,541,532,531,521,432,431,421,321。

    编写一个递归算法,找出从自然数1,2,3,-,n中任取r个数的所有组合.例如n=5,r=3时所有组合为543,542,541,532,531,521,432,431,421,321. 若设这n个自然数 ...

  7. 使用CE分析扫雷游戏,找到雷数的内存地址,找到低中高级的棋盘范围,找出地雷和别的数字在内存中的表示形式,猜测布雷算法

    1.找到雷数的内存地址 1.1 按照雷数精确扫描,低中高分别为10,40,99,扫描结果有三个 1.2 右键棋盘任意位置,有一个地址数值变少,则那个地址就是雷数内存地址 2.找到低中高级的棋盘范围 2 ...

  8. 单词搜索(给定一个二维网格和一个单词,找出该单词是否存在于网格中)

    力扣 从二维数组中找字符串是否存在,而且同一个元素不能重复使用.这是字符串匹配类型题目,要记住方法.将二维数组简化成字符串,也就是字符串匹配了(依次遍历每个元素,将其当做开头,开始匹配). 1.可以想 ...

  9. 单词搜索:给定一个二维网格和一个单词,找出该单词是否存在于网格中java实现

    题目描述 https://leetcode-cn.com/problems/word-search 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的 ...

  10. 通过一趟遍历找出长度为n的单链表中值最大的节点.【数据结构】【单链表】

    编写一个函数完成如下功能:通过一趟遍历找出长度为n的单链表中值最大的节点. 要求,在主函数中调用上面的函数测试. 提示:还需要定义其他函数,比如初始化链表,构造单链表,输出单链表. 输出结果: 代码展 ...

最新文章

  1. 离线轻量级大数据平台Spark之读取CSV文件实例
  2. 博客园T恤内部泄漏版(附图)
  3. Struts2中action接受参数方法
  4. Spark整合Ray思路漫谈
  5. 简述java的异常处理机制_简述java异常处理机制
  6. php 逗号千分位,数字格式化每三位添加逗号千分位 - 文章教程
  7. PHP中三元运算符的用法_php 三元运算符实例详细介绍
  8. ext.net 开发学习之TabPanel (二)
  9. 51nod 1605:棋盘问题
  10. HTTP 1 1与HTTP 1 0的比较
  11. Laravel 登录验证,md5验证,自定义验证,自定义表
  12. myeclipse注册机 unable access tojarfile cracker 2018jar
  13. MATLAB 错误使用 instfreq TFD 应“非负”
  14. 按键精灵脚本:采集鼠标当前所在坐标的颜色
  15. Office快捷键之王,这个键应该没人不服
  16. Jquery实现即点即改
  17. 单片机-stm32-使用cdc类实现vcp(虚拟串口)
  18. 分享8个强大的黑客技术学习网站
  19. OPPO折叠屏发布后,外媒把“矛头”对准三星,Find N和Fold 3哪个好?
  20. Steiner 椭圆及其结论

热门文章

  1. 2022-2028年中国钢轨探伤车行业市场研究及前瞻分析报告
  2. FastAPI 自动生成的docs文档没法使用
  3. NLP自然语言处理工具小结
  4. c++ Factor泛型编程示例
  5. 2021年大数据ELK(二十四):安装Kibana
  6. Redis使用认证密码登录
  7. MinGW-w64 编译器下载,安装,以及环境变量配置
  8. Android 删除无用的导包
  9. ARouter::Compiler No module name, for more information, look at gradle log
  10. android接入支付宝提示支付取消的方法处理