资源简介
电子文档doc查重,可一次导入n份。采用余弦算法查重,可自定义重复率生成结果。重复结果excle导出。采用java,gui形式。

代码片段和文件信息
package chaCongSystem;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class CosineSimilarAlgorithm {
public static double getSimilarity(String doc1 String doc2) {
if (doc1 != null && doc1.trim().length() > 0 && doc2 != null
&& doc2.trim().length() > 0) {
Map AlgorithmMap = new HashMap();
//将两个字符串中的中文字符以及出现的总数封装到,AlgorithmMap中
for (int i = 0; i < doc1.length(); i++) {
char d1 = doc1.charAt(i);
if(isHanZi(d1)){
int charIndex = getGB2312Id(d1);
if(charIndex != -1){
int[] fq = AlgorithmMap.get(charIndex);
if(fq != null && fq.length == 2){
fq[0]++;
}else {
fq = new int[2];
fq[0] = 1;
fq[1] = 0;
AlgorithmMap.put(charIndex fq);
}
}
}
}
for (int i = 0; i < doc2.length(); i++) {
char d2 = doc2.charAt(i);
if(isHanZi(d2)){
int charIndex = getGB2312Id(d2);
if(charIndex != -1){
int[] fq = AlgorithmMap.get(charIndex);
if(fq != null && fq.length == 2){
fq[1]++;
}else {
fq = new int[2];
fq[0] = 0;
fq[1] = 1;
AlgorithmMap.put(charIndex fq);
}
}
}
}
Iterator iterator = AlgorithmMap.keySet().iterator();
double sqdoc1 = 0;
double sqdoc2 = 0;
double denominator = 0;
while(iterator.hasNext()){
int[] c = AlgorithmMap.get(iterator.next());
denominator += c[0]*c[1];
sqdoc1 += c[0]*c[0];
sqdoc2 += c[1]*c[1];
}
return denominator / Math.sqrt(sqdoc1*sqdoc2);
} else {
throw new NullPointerException(
“ the Document is null or have not cahrs!!“);
}
}
public static boolean isHanZi(char ch) {
// 判断是否汉字
return (ch >= 0x4E00 && ch <= 0x9FA5);
}
/**
* 根据输入的Unicode字符,获取它的GB2312编码或者ascii编码,
*
* @param ch
* 输入的GB2312中文字符或者ASCII字符(128个)
* @return ch在GB2312中的位置,-1表示该字符不认识
*/
public static short getGB2312Id(char ch) {
try {
byte[] buffer = Character.toString(ch).getBytes(“GB2312“);
if (buffer.length != 2) {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 772 2017-06-05 19:16 chaCongSystem\.classpath
文件 389 2017-06-02 20:37 chaCongSystem\.project
文件 26155 2017-06-02 20:36 chaCongSystem\.settings\org.eclipse.jdt.core.prefs
文件 2794 2017-06-02 20:36 chaCongSystem\.settings\org.eclipse.jdt.ui.prefs
文件 2905 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\CosineSimilarAlgorithm.class
文件 493 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\Main.class
文件 1233 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\ProgressMonitorExample$Update.class
文件 1359 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\ProgressMonitorExample.class
文件 3795 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\WenDangAction.class
文件 4986 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\WenDangChaCong.class
文件 1057 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\Window$1.class
文件 3478 2017-06-05 19:16 chaCongSystem\bin\chaCongSystem\Window.class
....... 2905 2017-04-23 13:57 chaCongSystem\CosineSimilarAlgorithm.class
....... 493 2017-04-23 13:57 chaCongSystem\Main.class
....... 1233 2017-04-28 22:20 chaCongSystem\ProgressMonitorExample$Update.class
....... 1359 2017-04-28 22:20 chaCongSystem\ProgressMonitorExample.class
文件 3598 2017-05-05 19:18 chaCongSystem\src\chaCongSystem\CosineSimilarAlgorithm.java
文件 177 2017-04-09 19:04 chaCongSystem\src\chaCongSystem\Main.java
文件 1036 2017-05-05 19:18 chaCongSystem\src\chaCongSystem\ProgressMonitorExample.java
文件 3399 2017-05-23 14:55 chaCongSystem\src\chaCongSystem\WenDangAction.java
文件 5072 2017-06-03 16:17 chaCongSystem\src\chaCongSystem\WenDangChaCong.java
文件 4423 2017-05-23 10:44 chaCongSystem\src\chaCongSystem\Window.java
....... 3745 2017-04-29 11:19 chaCongSystem\WenDangAction.class
....... 4491 2017-04-29 11:15 chaCongSystem\WenDangChaCong.class
....... 1056 2017-04-29 11:43 chaCongSystem\Window$1.class
....... 2889 2017-04-29 11:43 chaCongSystem\Window.class
文件 35840 2017-05-27 12:29 测试数据\100000000000 李四 实验1.doc
文件 29696 2017-05-06 17:37 测试数据\120000000999 王五放 实验1.doc
文件 30720 2017-05-06 17:36 测试数据\130000022200 张三 实验2.doc
文件 32768 2017-04-23 10:50 测试数据\140000222000 小红 实验4.doc
............此处省略20个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论