⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datavirytabulation.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			for ( int p = 0 ; p < delRowList.size(); p++ ){
				lineStr = (String)delRowList.get(p);
				//System.err.println(lineStr);
				childStr = lineStr.split("\t");
				dwNumber = childStr[1].trim();
				if (dwNumber.equals(danWeiNumber)){
					m++ ;
					break;
				}
			}
			if ( m == 0 ) {   //过滤掉新增或者删除的乡镇、行政村
		  
			//System.err.println("=========Number========="+danWeiNumber);
			
			isAlter = false;
			tongDaList = cc.getFirstTongDaByNum(oldList,danWeiNumber); //根据乡镇、行政村编码得到上次通达的路线
		 	newList = cc.getFirstTongDaByNum(newTDList,danWeiNumber);       //根据乡镇、行政村编码得到本次通达的路线
		 	String tempLineStr = "";
		 	for (int k = 0; tongDaList != null && k < tongDaList.size(); k++ ){
		 		lineStr = (String)tongDaList.get(k);
				childStr = lineStr.split("\t");
				dwNumber = childStr[0];
				roadNumber = childStr[1].trim();
				if (roadNumber.equals("null")) continue;
				roadMile = ItemValue.getRound(Double.parseDouble(childStr[6]),6)/0.001;
				n = 0;
				for (int j = 0; newList != null && j < newList.size(); j++ ){
					 lineStr = (String)newList.get(j);
					 newChildStr = lineStr.split("\t"); 
					 newLineStr = newChildStr[0];
					 newRoadNumber = newChildStr[1].trim();
					 if (newRoadNumber.equals("null")) continue;
					 if (newRoadNumber.equals(roadNumber)){
						 n++;
						 break;
					 }
				}
				if (n != 0 ){
					tempStr = danWeiNumber + "\t" + roadNumber + "\t" + roadNumber + "\t" + roadMile + "\t\r\n" ;
					tempLineStr += tempStr;
				}else {
					tempStr = danWeiNumber + "\t" + roadNumber + "\t\t" + roadMile + "\t\r\n" ;
					tempLineStr += tempStr;
					  isAlter = true;
				}
		
		 	}
		 	
		 	if (isAlter){ //两次比较有变化
		 		
		 		newLineStr = cc.getNewTongDaString(danWeiNumber,tongDaList,newList); //获取本次新增的通达路线
		 		contentTxt += tempLineStr ;
		 	  System.out.println("有变化的乡镇、行政村:   "+ danWeiNumber);
		 		if (newLineStr != null )
		 			contentTxt += newLineStr ;
		 		//System.err.println(contentTxt);
		 	}
			}
		}
			
		 fileOperate.newFile("e:\\报部接口文件\\"+this.cityName + "\\通达路线选取变化一览表.txt",contentTxt);//输出文件
		return tempList;
	}
	//获取所有已经删除或新增的行政村或乡镇信息
	public List getdelTownAndVillage(){
		   List tempList = new ArrayList();
		 //  List addTownList = this.getNewVillagesAndTowns(); //新增行政村、乡镇信息
		 //  List delTownList = this.hasEarseVillagesAndTowns();//删除行政村、乡镇信息
		   String lineStr = "";
		   for (int i = 0; i< newAddList.size();i++){
			   lineStr = (String)newAddList.get(i);
			   System.err.println(lineStr);
			   tempList.add(lineStr);
		   }
		  for (int i = 0; i< delList.size();i++){
			   lineStr = (String)delList.get(i);
			   tempList.add(lineStr);
		   }
		    
		 return tempList;
	}
	//比较11个文件,去除上次报部与本次相同的记录
	public void createTxtFile(String fileName){
		
		String filePath = "E:\\比较数据";    //接口文件路径
		//String filePath = "E:\\temp";
        File allFile = new File(filePath);
        File[] files = allFile.listFiles();// 获取城市目录列表
		    for (int k = 0; files != null && k < files.length ; k++){
		    	filePath = files[k].getPath();
		  		String tempPath = filePath.replace('\\', ',');
				String[] paths = tempPath.split(",");
				int lenInt = paths.length - 1;
				String shiName = paths[lenInt]; // 城市名
	 
        this.oldFilePath = filePath + "\\first\\";    //上次报部接口文件路径
		this.newFilePath = filePath + "\\current\\";  //本次报部接口文件路径
		
		
      CommClass cc = new CommClass();
	  List oldList = cc.getAllTxt(this.oldFilePath + fileName + ".txt");  //打开上次报部接口文件
	  List newList = cc.getAllTxt(this.newFilePath + fileName + ".txt");     //打开本次报部接口文件
	  String oldLineStr = "";
      String newLineStr = "";
      String [] oldchildStr = null; 
      String [] newChildStr = null; 
      String txtStr = "";
      int n = 0;
	  for (int i=0; newList != null && i<newList.size(); i++){
		  newLineStr = (String)newList.get(i);
		  newChildStr = newLineStr.split("\t");
		  n = 0;
		  for (int j=0; oldList != null && j<oldList.size(); j++){
			  oldLineStr = (String)oldList.get(j);
			  oldchildStr = oldLineStr.split("\t");
			
			  //桥梁、渡口、路线、乡镇、建制村基本情况、隧道只需一种判断
			  if ( fileName.equals("Ql") || fileName.equals("Dk") 	|| fileName.equals("Sd")  ){
				 if (oldchildStr[0].trim().equals(newChildStr[0].trim()) ){
					 n ++ ;
					 break;
				 }
			 }
			  //路断、乡镇、建制村通达情况需两种判断
			  if ( fileName.equals("Jzctdqk") || fileName.equals("Xztdqk") || fileName.equals("Ld")){
				  if (oldchildStr[0].trim().equals(newChildStr[0].trim()) && 
						  oldchildStr[1].trim().equals(newChildStr[1].trim()) ){
					  n++;
					  break;
				  }
				 }
			  //未标注的建制村、未找到的建制村只需一种判断
			  if ( fileName.equals("未标注的建制村") || fileName.equals("未找到的建制村")  ){
				  if (oldLineStr.equals(newLineStr)){
					  n ++;
					  break;
				  }
			 }
			
			
				  
	  }
		   //本次报部接口与上次报部接口不相等时,进行汇总
		   if (n == 0) {  
		     txtStr += newLineStr + "\r\n";	  
		     System.out.println(newLineStr);
		   }
		}
		   FileOperate fileOperate = new FileOperate();
		   fileOperate.newFile("e:\\比较后文件\\"+shiName + "\\"+ fileName + ".txt",txtStr);//输出文件
		   System.err.println("****************** "+ shiName + " 比较完成! ***********************");
	}
		    
	}

//	比较11个文件,去除上次报部与本次相同的记录
	public void createTxtFile2(String fileName){
		
		String filePath = "E:\\比较数据";    //接口文件路径
		//String hbfilePath = "e:\\合并的数据";
	   String  filePath2 = "E:\\报部JIO比较后数据";
        File allFile = new File(filePath);
        File[] files = allFile.listFiles();// 获取城市目录列表
		    for (int k = 0; files != null && k < files.length ; k++){
		    	filePath = files[k].getPath();
		  		String tempPath = filePath.replace('\\', ',');
				String[] paths = tempPath.split(",");
				int lenInt = paths.length - 1;
				String shiName = paths[lenInt]; // 城市名
	 
        this.oldFilePath = filePath + "\\current\\";    //上次报部接口文件路径
		this.newFilePath = filePath2 + "\\" + shiName+ "\\";  //本次报部接口文件路径
		
      String tempName = "";
      if (fileName.equals("Jzcjbqk") || fileName.equals("Xzjbqk")  )
          tempName = "新增乡镇建制村一览表.txt";
      if (fileName.equals("Ld") || fileName.equals("Lx"))
    	  tempName = "新增路线一览表.txt";
      CommClass cc = new CommClass();
	  List oldList = cc.getAllTxt(this.oldFilePath + fileName + ".txt");  //打开上次报部接口文件
	  List newList = cc.getAllTxt(this.newFilePath + tempName);     //打开本次报部接口文件
	  String oldLineStr = "";
      String newLineStr = "";
      String [] oldchildStr = null; 
      String [] newChildStr = null;
      String tempStr = "";
      String txtStr = "";
      int n = 0;
      if (fileName.equals("Ld")){
  	  for (int i=0; oldList != null && i<oldList.size(); i++){
		  newLineStr = (String)oldList.get(i);
		  newChildStr = newLineStr.split("\t");
		  n = 0;
		  for (int j=0; newList != null && j<newList.size(); j++){
			  oldLineStr = (String)newList.get(j);
			  oldchildStr = oldLineStr.split("\t");
		   	 if (oldchildStr[1].trim().equals(newChildStr[1].trim()) ){
				  txtStr += newLineStr + "\r\n";
				   System.out.println(newLineStr);
				  break;
		    }
		  }
		   
	  }	  
	 }else {
	  for (int i=0; newList != null && i<newList.size(); i++){
		  newLineStr = (String)newList.get(i);
		  newChildStr = newLineStr.split("\t");
		  n = 0;
		  for (int j=0; oldList != null && j<oldList.size(); j++){
			  oldLineStr = (String)oldList.get(j);
			  oldchildStr = oldLineStr.split("\t");
			   
			  //桥梁、渡口、路线、乡镇、建制村基本情况、隧道只需一种判断
			    if (fileName.equals("Ld")){
			    	 if (oldchildStr[1].trim().equals(newChildStr[1].trim()) ){
						  txtStr += oldLineStr + "\r\n";
						  System.out.println(oldLineStr);
						 break;
					 }
			    }else if (oldchildStr[0].trim().equals(newChildStr[1].trim()) ){
					  txtStr += oldLineStr + "\r\n";
					  System.out.println(oldLineStr);
					 break;
				 }
		  }
		}
	 }
	      
	    
		   FileOperate fileOperate = new FileOperate();
		   fileOperate.newFile("e:\\比较后文件\\"+shiName + "\\"+ fileName + ".txt",txtStr);//输出文件
		   System.err.println("****************** "+ shiName + " 比较完成! ***********************");
	}
		    
	}

	
	
	//------全省汇总-----------------
	public void huiZhong(){
		String [] fileNames = new String[11]; 
		          fileNames[0] = "Dk";
		          fileNames[1] = "Ql";
		          fileNames[2] = "Sd";
		          fileNames[3] = "Jzctdqk";
		          fileNames[4] = "Xztdqk";
		          fileNames[5] = "未标注的建制村";
		          fileNames[6] = "未找到的建制村";
		          fileNames[7] = "Lx";
		          fileNames[8] = "Ld";
		          fileNames[9] = "Jzcjbqk";
		          fileNames[10] = "Xzjbqk";
		          
	  for (int i = 0; i < fileNames.length ; i++){
	      if (i < 7 )
		       createTxtFile( fileNames[i]);
	      else  
	         createTxtFile2( fileNames[i]);
		  System.out.println("*************** " + fileNames[i] + "比较结束! *********************");
		  
	  }
	  
	  MergeFiles mergefiles = new MergeFiles();//将全省的11个文件,合并。
	    try {
	      mergefiles.merge("E:\\比较后文件", "E:\\部接口文件汇总");
	    }
	    catch (Exception ex) {
	      ex.printStackTrace();
	    }
	       
	}
	
	public void printFile(){
		   CommClass cc = new CommClass();
		   String contentStr = "";
		   String temp = "";
		   String filePath  = "E:\\test";   //接口文件路径
		   String txtFilePath = "";
		   File allFile = new File(filePath);
		   List list = new ArrayList();
	       File[] files = allFile.listFiles();// 获取城市目录列表
			    for (int k = 0; files != null && k < files.length ; k++){
			    	contentStr = "";
			    	// filePath = files[k].getPath();
			  		String tempPath = files[k].getPath().replace('\\', ',');
					String[] paths = tempPath.split(",");
					int lenInt = paths.length - 1;
					String shiName = paths[lenInt]; // 城市名
					txtFilePath = filePath + "\\" + shiName + "\\" ;
				 //  filePath  =  filePath + shiName + "\\";
				    list = cc.getTxtAndInt (txtFilePath + "通达路线选取变化一览表.txt");
		   for (int i=0; list != null && i<list.size(); i++){
			    temp = (String)list.get(i);
			    System.out.println(temp);
			     contentStr += temp;
		   }
		   
		   FileOperate fileOperate = new FileOperate();
		   fileOperate.newFile("E:\\myFile\\ " + shiName + "\\通达路线选取变化一览表.txt",contentStr);//输出文件 
		   
      }
	}
	
	public void printFile(String filePath,String outPutFile) throws IOException{
		   CommClass cc = new CommClass();
          // cc.getTxtAndIntToStringBuffer(filePath,outPutFile);
		   cc.getTxtFile(filePath,outPutFile);
		}
	
      public static void main(String[] args) throws IOException {
		DataViryTabulation dvt = new DataViryTabulation();
		//dvt.printAll(); //分市生成六张表格数据(输出目录:E:\\报部接口文件)
		 //dvt.huiZhong();  //分设汇总11个接口文件(去除上次与本次报部都有的记录)
		
		//dvt.createTxtFile("Ld");
		
		dvt.printFile("D:\\最新更改全省部接口汇总1\\Ld.txt","C:\\99\\Ld.txt");
		   
  	}
  	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -