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

📄 auto.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.our.auto;

import net.aetherial.gis.our.FrameOur;
import java.io.File;
import java.io.IOException;
import java.util.Vector;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.surface.ItemValue;
import org.w3c.dom.Document;
import net.aetherial.gis.garmin.GarminGMLDoc;
import org.w3c.dom.Element;
import javax.swing.JOptionPane;
import net.aetherial.gis.util.Encryption;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Auto {
  private FrameOur fo = null;
  public File[] input = null;
  public File output = null;
  private String log = "";
  public Auto() {
  }
  public FrameOur getFrameOur(){
    return this.fo;
  }
  public void setFrameOur(FrameOur fo){
    this.fo = fo;
  }
  public void setFile(String inputFile,String outputFile){
    this.input = new File[1];
    input[0] = new File(inputFile);
    this.output = new File(outputFile);
  }
  public void setInputFile(String inputFile){
    this.input = new File[1];
    input[0] = new File(inputFile);
  }
  public void setOutputFile(String outputFile){
    this.output = new File(outputFile);
  }

  public void setDirectory(String inputDirectory,String outputDirectory){
    File f = new File(inputDirectory);
    File[] Temp = f.listFiles();
    Vector ve = new Vector();
    for(int i = 0;i<Temp.length;i++){
      if(Temp[i].isFile()){
        ve.add(Temp[i]);
      }
    }
    this.input = new File[ve.size()];
     for(int i = 0;i<this.input.length;i++){
       this.input[i] = (File)ve.elementAt(i);
     }

    this.output = new File(outputDirectory);
  }
  public void setInputDirectory(String inputDirectory){
    File f = new File(inputDirectory);
    File[] Temp = f.listFiles();
    if (Temp == null) {
      return;
    }
    Vector ve = new Vector();
    for(int i = 0;i<Temp.length;i++){
      if(Temp[i].isFile()){
        ve.add(Temp[i]);
      }
    }
    this.input = new File[ve.size()];
     for(int i = 0;i<this.input.length;i++){
       this.input[i] = (File)ve.elementAt(i);
     }
  }
  /**************************取得目录下的所有文件夹文件***********************************Begin*/
  /**
   * 这个目录下的所有文件,包括文件夹下的文件夹文件
   */
  public void setInputAllDirectory(String inputDirectory){
    this.getallFile(new File(inputDirectory));
    this.input = getFileOfTempVE();
    System.out.println(inputDirectory);
  }
  /**
   * 遍历所有文件夹下的文件
   * @return 文件.不是文件夹
   */
  private Vector tempve = new Vector();

  private void getallFile(File direct){
    File[] Temp = direct.listFiles();
    if(Temp == null){
      return;
    }else{
      for (int i = 0; i < Temp.length; i++) {
        if (Temp[i].isDirectory()) {
          getallFile(Temp[i]);
        }else if(Temp[i].isFile()){
          if (this.isGPSFile(Temp[i]) && (!this.isCundao(Temp[i]))) {
            tempve.add(Temp[i]);
          }
        }
      }
    }
//      tempve.addAll(findOutGPSFiles(direct.getAbsolutePath()));
  }
  protected void setOnlyOpenXianXiang(){
    gradeStr = "县道 | 乡道";
  }
  protected String gradeStr = "国道 | 省道 | 县道 | 乡道 | 村道 | 专用道路";
  private Vector findOutGPSFiles(String inputPath) {
    Vector gpsFiles = new Vector();
    String gradeDir = "";
    File base = new File(inputPath);
    File[] all = base.listFiles();

    for (int i = 0; all != null && i < all.length; i++) {
      if (all[i].isDirectory()) {
//        System.out.println(all[i].getAbsolutePath());
        gpsFiles.addAll(findOutGPSFiles(all[i].getAbsolutePath()));
      }
    }
    File[] gps = base.listFiles(new java.io.FilenameFilter() {
      public boolean accept(File file, String name) {
        return
            file != null &&
            checkGradePath(file.getAbsolutePath(), gradeStr) &&
            name.length() > 4 &&
            ".gps".equalsIgnoreCase(name.substring(name.length() - 4));
      }
    });
    for (int i = 0; gps != null && i < gps.length; i++) {
      gpsFiles.add(gps[i]);
    }
    return gpsFiles;
  }

  private boolean checkGradePath(String path, String gradeStr) {
    boolean result = false;
    if (gradeStr.length() == 0) {
      result = path.indexOf("整理完毕") > -1;
    }
    else {
      if (gradeStr.indexOf("国道") > -1) {
        result |= path.indexOf("整理完毕\\国") > -1;
      }
      if (gradeStr.indexOf("省道") > -1) {
        result |= path.indexOf("整理完毕\\省") > -1;
      }
      if (gradeStr.indexOf("县道") > -1) {
        result |= path.indexOf("整理完毕\\县") > -1;
      }
      if (gradeStr.indexOf("乡道") > -1) {
        result |= path.indexOf("整理完毕\\乡") > -1;
      }
      if (gradeStr.indexOf("村道") > -1) {
        result |= path.indexOf("整理完毕\\村") > -1 || path.indexOf("整理完毕\\乡村") > -1;
      }
      if (gradeStr.indexOf("专用道路") > -1) {
        result |= path.indexOf("整理完毕\\专") > -1;
      }
    }
    return result;
  }

  private boolean isXiandao(File gpsFile){
    String fileName = gpsFile.getName();
    if ((fileName.toUpperCase()).startsWith("X")) {
      return true;
    }else{
      return false;
    }
  }

  private boolean isXiangdao(File gpsFile){
    String fileName = gpsFile.getName();
    if ((fileName.toUpperCase()).startsWith("Y")) {
      return true;
    }else{
      return false;
    }
  }

  private boolean isShengdao(File gpsFile){
    String fileName = gpsFile.getName();
    if ((fileName.toUpperCase()).startsWith("S")) {
      return true;
    }else{
      return false;
    }
  }

  private boolean isCundao(File gpsFile){
    if (this.isGuodao(gpsFile) || this.isShengdao(gpsFile) || this.isXiandao(gpsFile) || this.isXiangdao(gpsFile)) {
      return false;
    }else{
      return true;
    }
  }

  private boolean isGuodao(File gpsFile){
      String fileName = gpsFile.getName();
      if ((fileName.toUpperCase()).startsWith("G")) {
        return true;
      }else{
        return false;
      }
  }
  /**
   * 是否是GPS文件
   */
  private boolean isGPSFile(File gpsFile){
    String fileName = gpsFile.getName();
    if ((fileName.toUpperCase()).endsWith(".GPS")) {
      return true;
    }else{
      return false;
    }
  }
  /**
   * 将包含的文件形成数组
   */
  private File[] getFileOfTempVE(){
    File[] temp = null;
    if(tempve.size() == 0){
      return null;
    }else{
      temp = new File[tempve.size()];
      for (int i = 0; i < tempve.size(); i++) {
        temp[i] = (File)tempve.elementAt(i);
      }
    }
    return temp;
  }
  /**************************取得目录下的所有文件夹文件***********************************End*/
  public void setOutputDirectory(String outputDirectory){
    this.output = new File(outputDirectory);
  }

  public void open(File file){
    fo.openFile(file);
  }
  public void Save(String file,String content){
    File f = new File(file);
    try {
      f.createNewFile();
    }
    catch (IOException ex) {
    }
    CreateFile cf = new CreateFile(f);
    cf.memoryToFile(content);
  }
  public void saveMemory(String file){
    Document d1 = GarminGMLDoc.d;
    Element root1 = GarminGMLDoc.root;
    ItemValue.getRidOfTracksAndWaypointIDNew();
    File cff = new File(file);
    try {
      cff.createNewFile();
    }
    catch (IOException ex) {
    }
    CreateFile cf = new CreateFile(cff);
    if(ItemValue.encrypt){
    try {
      cf.memoryToFile(Encryption.encryptFromString(GarminGMLDoc.printDoc(),
          Encryption.key));
    }
    catch (Exception ex1) {
    }
    }else{
      cf.memoryToFile(GarminGMLDoc.printDoc());
    }
    GarminGMLDoc.d = d1;
    GarminGMLDoc.root = root1;
  }
  public void setMemoryReset(){
    fo.reset();
  }
  public void msg(String message){
    System.out.println(message);
//    JOptionPane.showMessageDialog(this.fo, message,
//                                    "GPS Information",
//                                    JOptionPane.INFORMATION_MESSAGE);

  }
/**
 * 下面两个方法作用是把字符输出为文件
 */
  private void createDirectory(String direct) {
    File f = new File(direct);
    if (! (f.exists())) {
      f.mkdir();
    }
  }

  public void createLog(String logFile, String str) {
    this.createDirectory( (new File(logFile)).getParent());
    CreateFile cf = new CreateFile(new File(logFile));
    cf.setEncode("GB2312");
    cf.memoryToFile(str);
  }
  protected void setFileReset(){
    this.tempve.removeAllElements();
  }
  /**
   * 这个方法的作用是把字符打印到内存中去.
   *  print(String string)作用是把字符string,打印到this.log里面去
   */
  public void print(String string){
    this.log = this.log + string + "\r\n";
  }
  public String getlog(){
    return this.log;
  }
}

⌨️ 快捷键说明

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