永发信息网

JAVA实现如何比较两个文档之间的异同点

答案:2  悬赏:70  手机版
解决时间 2021-02-03 09:52
  • 提问者网友:沉默的哀伤
  • 2021-02-03 00:08
使用JAVA如何实现比较相同类型的两个文件之间的异同,就像SVN里面实现的一样,项目中的一项功能,望各位帮帮忙,给出出主意
谢谢你,我是要在项目里面实现这个功能,但不知道怎么做,文档类型如word、excel等office文件
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-02-03 01:40
楼上回答驴唇不对马嘴。
这个文件比较功能,我做过比较txt简单文本文件的。office文件没比过,说下想法,希望能对你有帮助
打开要读取的两份文件,依次读取A所有行数,将每一行的数据以字符串的形式存储在一个字符串数组里,假如是 StringA[] ,同时也一样处理 B文件
分别从开始遍历两个 字符串数组,比较 相似(相同) 字符百分比。当然有时候可能A文件第10行是一个空行,但是其下面的所有数据都和B文件一样,所以这个遍历对比不是门当户对的 行行相比,而是 一次遍历多对多的比较(但是仍要考虑顺序,比如A第10行和B第15行相同,但是A第12行又和B第10行相同,那么这一个范围段都是不匹配片断),找出相似度最高的。
希望能对你有帮助吧
全部回答
  • 1楼网友:拜訪者
  • 2021-02-03 02:18
map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个map,依次类推,这样就可形成一个多级映射。对于键对象来说,像set 一样,一个map容器中的键对象不允许重复,这是为了保持查找结果的一致性;如果有两个键对象一样,那你想得到那个键对象所对应的值对象时就有问题了,可 能你得到的并不是你想的那个值对象,结果会造成混乱,所以键的唯一性很重要,也是符合集合的性质的。当然在使用过程中,某个键所对应的值对象可能会发生变 化,这时会按照最后一次修改的值对象与键对应。对于值对象则没有唯一性的要求。你可以将任意多个键都映射到一个值对象上,这不会发生任何问题(不过对你的 使用却可能会造成不便,你不知道你得到的到底是那一个键所对应的值对象)。 map有两种比较常用的实现:hashmap和treemap,weakmap。hashmap 也用到了哈希码的算法,以便快速查找一个键,treemap则是对键按序存放,因此它便有一些扩展的方法,比如firstkey(),lastkey() 等,你还可以从treemap中指定一个范围以取得其子map。键和值的关联很简单,用pub(object key,object value)方法即可将一个键与一个值对象相关联。用get(object key)可得到与此key对象所对应的值对象,weakmap这个用于内存自动释放的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯