📄 auto.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 + -