基本信息
源码名称:java 相似度算法实例源码
源码大小:0.01M
文件格式:.rar
开发语言:Java
更新时间:2014-04-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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;
	}