基本信息
源码名称:java 相似度算法实例源码
源码大小:0.01M
文件格式:.rar
开发语言:Java
更新时间:2014-04-13
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
代码相似度算法
public String getPreProcessedCode(String filePath) {
// TODO Auto-generated method stub
String code="";
try{
BufferedReader br = new BufferedReader (new InputStreamReader(new FileInputStream(filePath)));
StringBuffer buf = new StringBuffer();
String line;
while((line=br.readLine())!=null){
buf.append(line "\n");
}
//删除所有注释
code = DelComments.delComments(buf.toString());
int pos1 = 0,pos2 = 0;
int len = code.length();
boolean isString = false;
StringBuffer ret = new StringBuffer();
while(pos1<len){
pos2 ;
if(isString){
if(pos2<len-1){
if(code.substring(pos2, pos2 1).equals("\"") && !code.subSequence(pos2-1, pos2).equals("\\")){
isString = false;
ret.append(delVariables(code.substring(pos1, pos2 1)));
pos1 = pos2 1;
}
}else{
break;
}
}else{
if(pos2<len-1){
if(code.substring(pos2, pos2 1).equals("\"")){
isString = true;
ret.append(delVariables(code.substring(pos1, pos2)));
pos1 = pos2;
}
}else{
ret.append(delVariables(code.substring(pos1, code.length())));
break;
}
}
}
code = ret.toString();
//删除所有空格和换行
code=code.replaceAll("\\s", "");
br.close();
}catch(Exception e){
e.printStackTrace();
}
return code;
}