使用Eclipse在Excel中找出两张表中相同证件号而姓名或工号却出现不同的的项
1:首先把Excel中的文本复制到txt中,复制如下:
A表:
证件号 工号 姓名
310110xxxx220130004 101 傅家宜
310110xxxx220130005 102 顾音琪
310110xxxx220130006 103 郭加峤
310110xxxx220130007 104 胡奕蕾
310110xxxx220130010 105 凌家蔚
310110xxxx220130011 106 卢彦菁
B表:
证件号 工号 姓名
310110xxxx220130004 111 傅家宜
310110xxxx220130005 102 顾音琪
310110xxxx220130006 103 郭嘉峤
310110xxxx220130007 104 胡奕蕾
310110xxxx220130010 105 凌家蔚
310110xxxx220130012 107 潘家莹
2:代码和运行结果如下:
package aa;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Hashtable;
import java.util.Map.Entry; public class DuplicateItem {
public static Hashtable<String, String> readTxtFile(String filePath){
Hashtable<String,String> table =new Hashtable<String, String>();
try {
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
String key = lineTxt.substring(0, lineTxt.indexOf("\t"));
String value = lineTxt.substring(lineTxt.indexOf("\t")+1);
table.put(key.trim(), value.trim());
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return table;
} public static void printall(Hashtable<String,String> ht, Hashtable<String, String> ht2){
for(Entry<String, String> en : ht.entrySet()){
if(null == ht2.get(en.getKey())){
System.out.println("\n\tB中没有A中value为" + en.getValue().replace("\t", "") + "的项\n");
}else if(!en.getValue().equals(ht2.get(en.getKey()))){
System.out.println("A中value为: " + en.getValue().replace("\t", "") + "\t与B中 "+ ht2.get(en.getKey()).replace("\t", "") +" 不同");
} } for(Entry<String, String> en2 : ht2.entrySet()){
if(ht.get(en2.getKey()) == null){
System.out.println("\n\tA中没有B中value为" + en2.getValue().replace("\t", "") + "的项\n");
}else if(!en2.getValue().equals(ht.get(en2.getKey()))){
System.out.println("B中value为: " + en2.getValue().replace("\t", "") + "\t与A中 "+ ht.get(en2.getKey()).replace("\t", "") +" 不同");
} }
} public static void main(String argv[]){
Hashtable<String,String> table =new Hashtable<String, String>();
Hashtable<String,String> table2 =new Hashtable<String, String>();
String filePath = "C:\\Users\\Administrator\\Desktop\\c.txt";
String filePath2 = "C:\\Users\\Administrator\\Desktop\\d.txt";
table = readTxtFile(filePath);
table2 = readTxtFile(filePath2);
if(table != null && table2 != null){
printall(table,table2);
} }
}
使用Eclipse在Excel中找出两张表中相同证件号而姓名或工号却出现不同的的项的更多相关文章
- mysql 如何找出两张表之间的关系
分析步骤: #1.先站在左表的角度去找 是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段(通常是id) #2.再站在右表的角度去找 是否右表的 ...
- Java - Collection 高效的找出两个List中的不同元素
如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...
- Java Collection - 003 高效的找出两个List中的不同元素
如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...
- python——快速找出两个电子表中数据的差异
最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...
- python:找出两个列表中相同和不同的元素(使用推导式)
#接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二', '王七'] a = [x for x in lis ...
- 389. Find the Difference 找出两个字符串中多余的一个字符
[抄题]: Given two strings s and t which consist of only lowercase letters. String t is generated by ra ...
- 高效的找出两个List中的不同元素
/* * TestList.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo.sdk. ...
- 给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.
在网上看到过一个面试题,感觉挺有意思,看别人的代码写的逻辑不够谨慎,重写了一个,较真了又... package com.array7.algorithm; public class Algorithm ...
- 在数组中找出两数之和为10的所有组合(JAVA)
/*利用冒泡排序实现*/ import java.util.Scanner;public class Paixun { public static void main(String[] args) { ...
随机推荐
- Android 内存暴减的秘密?!
作者:杨超,腾讯移动客户端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 在我这样减少了26.5M Java内存! 一文中内存优化一期已经告一段落, ...
- JQ 为未来元素添加事件处理器—事件委托
随着DOM结构的复杂化和Ajax等动态脚本技术的运用,有了较多的动态添加进来的元素,直接用JQ添加click事件会发现新添加进来的元素并不能直接选取到,在这里就需要用到事件委托方法,JQ为事件委托提供 ...
- Django__Ready
Python WEB框架 : DJango : 大而全 flask : 小而精 tornado : 下载DJango : PIP3 INSTALL DJANGO 创建DJango项目 : django ...
- 前端之JavaScript--基础
JavaScript 独立的语言,浏览器具有js解释器 一. JavaScript代码存在形式: - Head中 <script> //javascript代码 alert(123); & ...
- Python学习_05_条件、循环
条件 和其他语言类似,python中使用if...elif...else来形成分支,支持三目操作符 ?:,python中没有switch,但是缩进的特性让if...elif...else的结构同样便于 ...
- python导入模块时的执行顺序
当python导入模块,执行import语句时,到底进行了什么操作?按照python的文档,她执行了如下的操作: 第一步,创建一个新的module对象(它可能包含多个module) 第二步,把这个mo ...
- java equals == contentEquals
equals与== 经常用于比较,用法如下:字符串比较相同用equals,普通数值(基本数据类型)比较用==, contentEquals下面讲 理论准备: java的基本类型如int.float,d ...
- js实现黑客帝国文字下落效果
突然想到这个效果便想实现以下. 当然免不了要百度一下,于是查找到 http://www.cnblogs.com/myvin/p/4775152.html这篇文章, 效果可以查看博文中的给出的效果图.那 ...
- [翻译]在 .NET Core 中的并发编程
原文地址:http://www.dotnetcurry.com/dotnet/1360/concurrent-programming-dotnet-core 今天我们购买的每台电脑都有一个多核心的 C ...
- Zabbix实战-简易教程--动作(Actions)--自动发现
一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在 ...