📄 readall.java
字号:
number = number.substring(0,4);
}
for (int i = 0; i < sameXianLuduanVector.size(); i++) {
if (((LdRow)sameXianLuduanVector.get(i)).getLxNumber().indexOf(number.toUpperCase()) != -1) {
temp.add((LdRow)sameXianLuduanVector.get(i));
}
}
return temp;
}
public void print(String xianName){
if (xianName.equals("")) {
for (int i = 0; i < allRow.size(); i++) {
System.out.println( ( (LdRow) allRow.get(i)).getGeneralRow());
}
}else{
Vector temp = this.selectLdRow(xianName);
for (int i = 0; i < temp.size(); i++) {
System.out.println( ( (LdRow) temp.get(i)).getGeneralRow());
}
}
}
//-------------------根据县名显示跨县路段数据
public void printRowByXian(String shiName,String xianName,String inputPath,String outputPath){
String Number="";
String xian="";
if (xianName.equals("三山区")){
Number="340200";
}else {
Item item=new Item();
item.setXianName(xianName);
Number=item.getSix_6_XianNumber().substring(0,4)+"00";//获取行政编码
}
xian=""+inputPath.length();
Vector temp=new Vector();
Vector kuaXian=new Vector();
Vector kuaXian2=new Vector();
temp =selectRowByXian(xianName); //根据县名在年报表格中读取跨县路段数据
String rowStr="";//"路线代码\t路线简称\t起点桩号\t起点名称\t止点桩号\t止点名称\t里程\r\n";//标题行
FileOperate fileOperate = new FileOperate();
ToGPS gps=new ToGPS();
OpenDirectory od=new OpenDirectory(); //读取所有GPS数据
od.setGradeStr("县道|");
File[] allFiles=od.getOpenFile(inputPath);//读取所有GPS文件
String lxNumber="";
File[] gpsFiles=od.getOpenFile(inputPath+"\\"+xianName);
for(int j=0;j<gpsFiles.length;j++){
File fileName=gpsFiles[j];
String gpsNum=fileName.getName().substring(0,4)+Number;
for(int p=0;p<temp.size();p++){
String lxNum=((LdRow)temp.get(p)).getLxNumber();
if (gpsNum.equals(lxNum)){
kuaXian2.add((LdRow)temp.get(p));
}
}
}
File fileName = null;
String tempStr = "";
String lxNum = "";
String rowGPSStr = "";//根据路线编号获取GPS中数据
String tempRowStr = "";
String tempPath="";
for (int i = 0; i < kuaXian2.size(); i++) {
lxNumber=((LdRow)kuaXian2.get(i)).getLxNumber();
int count = 1;
tempRowStr = "";
for(int j=0;j<allFiles.length;j++){
fileName=allFiles[j];
tempStr="";
lxNum=((LdRow)kuaXian2.get(i)).getLxNumber();
tempPath=fileName.getParent().replace('\\',',');
String[] paths=tempPath.split(",");
int lenInt=paths.length-3;
String quXian=paths[lenInt];//fileName.getParent().substring(20,23); //区县名
String [] zh=zhuangHao(lxNum,shiName,quXian);
rowGPSStr=gps.ToGPS(fileName.getParent(),fileName.getName(),lxNum,zh,xianName);//根据路线编号获取GPS中数据
if (!rowGPSStr.equals("1"))
{
tempRowStr += rowGPSStr+"\r\n";
count++;
}
}
if(count>2)
rowStr += tempRowStr;
}
System.out.println("row="+ rowStr);
fileOperate.newFile(outputPath+"\\"+xianName+".txt",rowStr);//输出文件
}
//-------------------根据县名显示跨县路段数据和所有县道及乡道数据
public void printAllRowByXian(String shiName,String xianName,String inputPath,String outputPath){
System.err.println("正在读取数据,请稍候...");
String xianNumber="";
String xian="";
String Number="";
Item item=new Item();
if (xianName.equals("三山区")){
Number="340200";
xianNumber="340222";
}else {
item.setXianName(xianName);
xianNumber=item.getSix_6_XianNumber();
Number=xianNumber.substring(0,4)+"00";//获取行政编码
}
xian=""+inputPath.length();
//---------------------下面的程序段是列出该县(区)的所有跨县区线路----------
// Vector tempAll=getRowByXian(shiName,xianName);
Vector temp=new Vector();
Vector kuaXian=new Vector();
Vector kuaXian2=new Vector();
temp =selectRowByXian(xianName); //根据县名在年报表格中读取跨县路段数据
String rowStr="";//"路线代码\t路线简称\t起点桩号\t起点名称\t止点桩号\t止点名称\t里程\r\n";//标题行
FileOperate fileOperate = new FileOperate();
ToGPS gps=new ToGPS();
OpenDirectory od=new OpenDirectory(); //读取所有GPS数据
od.setGradeStr("县道|");
File[] allFiles=od.getOpenFile(inputPath);//读取所有GPS文件
String lxNumber="";
File[] gpsFiles=od.getOpenFile(inputPath+"\\"+xianName);
for(int j=0;gpsFiles != null && j<gpsFiles.length;j++){ //按县获取年报信息
File fileName=gpsFiles[j];
String gpsNum=fileName.getName().substring(0,4)+Number;
for(int p=0;p<temp.size();p++){
String lxNum=((LdRow)temp.get(p)).getLxNumber();
if (gpsNum.equals(lxNum)){
kuaXian2.add((LdRow)temp.get(p));
}
}
}
ArrayList lxnumberList=new ArrayList(); //保存跨县区线路的线路编号
String tempNumber="";
File fileName = null;
String tempStr = "";
String lxNum = "";
String rowGPSStr = "";//根据路线编号获取GPS中数据
String tempRowStr = "";
String tempPath="";
for (int i = 0; i < kuaXian2.size(); i++) { //按县查找跨县线路并找出年报中的起止点桩号信息
lxNumber=((LdRow)kuaXian2.get(i)).getLxNumber();
int count = 1;
tempRowStr = "";
for(int j=0;allFiles != null && j<allFiles.length;j++){
tempNumber="";
fileName=allFiles[j];
tempStr="";
lxNum=lxNumber;
tempPath=fileName.getParent().replace('\\',',');
String[] paths=tempPath.split(",");
int lenInt=paths.length-3;
String quXian=paths[lenInt]; //区县名
String [] zh=zhuangHao(lxNum,shiName,quXian); //按线路编号得到起止点桩号信息
rowGPSStr=gps.ToGPS(fileName.getParent(),fileName.getName(),lxNum,zh,xianName);//根据路线编号获取GPS中数据
if (!rowGPSStr.equals("1"))
{
tempRowStr += rowGPSStr+"\r\n";
tempNumber=lxNum;
// lxnumberList.add(tempNumber);
count++;
}
}
if(count>2){
lxnumberList.add(tempNumber);
rowStr += tempRowStr;
}
}
//---------------------下面的程序段是列出该县(区)的所有县、乡道----------
String allLxStr="";
OpenDirectory openFile=new OpenDirectory();
File[] xianFile=openFile.getOpenFile(inputPath+"\\"+xianName);
openFile.setGradeStr("县道|乡道|");
int n=0;
for(int j=0;xianFile!=null && j<xianFile.length;j++){
fileName=xianFile[j];
tempPath=fileName.getParent().replace('\\',',');
String[] paths=tempPath.split(",");
int lenInt=paths.length-1;
String xNumber=paths[lenInt];//判断是否为乡、县
String bianHao="";
if (xNumber.equals("乡"))
bianHao=fileName.getName().substring(0,4)+xianNumber;
else
bianHao=fileName.getName().substring(0,4)+Number;
n=0;
for(int l=0;l<lxnumberList.size();l++){
String lx=(String)lxnumberList.get(l);
if (lx.equals(bianHao)) n++;
}
if (n>0) continue;
String [] zh=zhuangHao(bianHao,shiName,xianName);
rowGPSStr=gps.ToGPS1(fileName.getParent(),fileName.getName(),bianHao,zh,xianName);//根据路线编号获取GPS中数据
if (!rowGPSStr.equals("1"))
{
allLxStr+=rowGPSStr+"\r\n";
}
}
rowStr=rowStr+allLxStr;
System.out.println(rowStr);
fileOperate.newFile(outputPath+"\\"+xianName+"_跨县信息.txt",rowStr);//输出文件
}
public boolean isEmptyrow(){
boolean empty = true;
if (rowData != null) {
for (int i = 0; i < rowData.length; i++) {
if (!(rowData[i].getContents().equals(""))) {
empty = false;
break;
}
}
}else{
return true;
}
return empty;
}
public static void main(String[] args) {
ReadAll readall = new ReadAll();
readall.read();
/* if(args.length <4)
System.out.println("缺少参数!");
else
readall.printAllRowByXian(args[0],args[1],args[2],args[3]);
*/
readall.printAllRowByXian("蚌埠市","禹会区","D:\\安徽省通达数据\\蚌埠市","D:\\异型路整理好\\蚌埠市");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -