基本信息
源码名称: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; }