找出文件1中有而文件2中没有的数据
// 使用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中没有的数据相关推荐
- 计算机一级查找同类型文件,如何快捷找出电脑内的重复文件
有时特喜欢收集各种软件和资料,但是时间久了,很多软件和资料之前下载过了,后来不记得了,又下载了,这样重复的非常多.这样重复的文件多了,占了大量的磁盘空间,也影响电脑运行性能,当然是要清理掉,但这些文件 ...
- 如何测试电脑软件重复或多,如何快捷找出电脑内的重复文件(两个工具)
我特喜欢收集各种软件和资料,但是时间久了,很多软件和资料之前下载过了,后来不记得了,又下载了,这样重复的非常多.还有,我喜欢备份文件,就算一些普通的文件,也会随手临时备份一下,过后,没有删除,就忘记了 ...
- 如何找出电脑内的重复文件,查找电脑磁盘重复文件的方法
不少小伙伴都有收集各种软件.图片和资料的习惯,但是时间久了,有许多软件.图片和资料已经下载过了,但是忘记了,又重新下载了,这样导致电脑里面有很多重复的软件.图片和资料.如何找出电脑内的重复文件? 我们 ...
- Linux找出某所有者的所有文件
Linux找出某所有者的所有文件的指令为:find / -user username find的用法手册如下: 姓名 find-在目录层次结构中搜索文件 简介 find [-H] [-L] [-P] ...
- 2022-12-01:从不订购的客户。找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C
2022-12-01:从不订购的客户.找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C ...
- 编写一个递归算法,找出从自然数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个自然数 ...
- 使用CE分析扫雷游戏,找到雷数的内存地址,找到低中高级的棋盘范围,找出地雷和别的数字在内存中的表示形式,猜测布雷算法
1.找到雷数的内存地址 1.1 按照雷数精确扫描,低中高分别为10,40,99,扫描结果有三个 1.2 右键棋盘任意位置,有一个地址数值变少,则那个地址就是雷数内存地址 2.找到低中高级的棋盘范围 2 ...
- 单词搜索(给定一个二维网格和一个单词,找出该单词是否存在于网格中)
力扣 从二维数组中找字符串是否存在,而且同一个元素不能重复使用.这是字符串匹配类型题目,要记住方法.将二维数组简化成字符串,也就是字符串匹配了(依次遍历每个元素,将其当做开头,开始匹配). 1.可以想 ...
- 单词搜索:给定一个二维网格和一个单词,找出该单词是否存在于网格中java实现
题目描述 https://leetcode-cn.com/problems/word-search 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的 ...
- 通过一趟遍历找出长度为n的单链表中值最大的节点.【数据结构】【单链表】
编写一个函数完成如下功能:通过一趟遍历找出长度为n的单链表中值最大的节点. 要求,在主函数中调用上面的函数测试. 提示:还需要定义其他函数,比如初始化链表,构造单链表,输出单链表. 输出结果: 代码展 ...
最新文章
- 离线轻量级大数据平台Spark之读取CSV文件实例
- 博客园T恤内部泄漏版(附图)
- Struts2中action接受参数方法
- Spark整合Ray思路漫谈
- 简述java的异常处理机制_简述java异常处理机制
- php 逗号千分位,数字格式化每三位添加逗号千分位 - 文章教程
- PHP中三元运算符的用法_php 三元运算符实例详细介绍
- ext.net 开发学习之TabPanel (二)
- 51nod 1605:棋盘问题
- HTTP 1 1与HTTP 1 0的比较
- Laravel 登录验证,md5验证,自定义验证,自定义表
- myeclipse注册机 unable access tojarfile cracker 2018jar
- MATLAB 错误使用 instfreq TFD 应“非负”
- 按键精灵脚本:采集鼠标当前所在坐标的颜色
- Office快捷键之王,这个键应该没人不服
- Jquery实现即点即改
- 单片机-stm32-使用cdc类实现vcp(虚拟串口)
- 分享8个强大的黑客技术学习网站
- OPPO折叠屏发布后,外媒把“矛头”对准三星,Find N和Fold 3哪个好?
- Steiner 椭圆及其结论
热门文章
- 2022-2028年中国钢轨探伤车行业市场研究及前瞻分析报告
- FastAPI 自动生成的docs文档没法使用
- NLP自然语言处理工具小结
- c++ Factor泛型编程示例
- 2021年大数据ELK(二十四):安装Kibana
- Redis使用认证密码登录
- MinGW-w64 编译器下载,安装,以及环境变量配置
- Android 删除无用的导包
- ARouter::Compiler No module name, for more information, look at gradle log
- android接入支付宝提示支付取消的方法处理