exportfileprogress.java

来自「GPS Track connects to a GPS and records 」· Java 代码 · 共 66 行

JAVA
66
字号
// J2ME GPS Track
// Copyright (C) 2006 Dana Peters
// http://www.qcontinuum.org/gpstrack

package org.qcontinuum.gpstrack;

import javax.microedition.lcdui.*;
import java.io.*;

public class ExportFileProgress extends Form implements CommandListener, Runnable {

    final static private int DEGREESTOINT = 46603;

    private Displayable mParent;
    private String mTrackName;
    private int mFormat;
    private String mPath;
    private Gauge mProgressGauge;
    private Command mCancelCommand;
    private FileUsage mFileUsage;
    
    public ExportFileProgress(Displayable parent, String trackName, int format, String path, FileUsage fileUsage) {
        super("Local File");
        mParent = parent;
        mTrackName = trackName;
        mFormat = format;
        mPath = path;
        mFileUsage = fileUsage;
        append(new StringItem("Writing...", "\n"));
        append(mProgressGauge = new Gauge(null, false, 10, 0));
        addCommand(mCancelCommand = new Command("Cancel", Command.CANCEL, 0));
        setCommandListener(this);
        new Thread(this).start();
    }
    
    public void commandAction(Command c, Displayable d)  {
        if (c == mCancelCommand) {
            GpsTrack.display(mParent);
        }
    }
    
    public void run() {
        Thread.currentThread().yield();
        writeTrack();
    }

    private void writeTrack() {
        DataOutputStream dataOutputStream = null;
        try {
            String filename = mPath + mTrackName.replace(' ', '_').replace(':', '_') + Track.getFormatExtension(mFormat);
            dataOutputStream = mFileUsage.open(filename);
            Track.write(mFormat, dataOutputStream, mTrackName, mProgressGauge);
            GpsTrack.display(mParent);
        } catch (Exception ex) {
            GpsTrack.display(ex, mParent);
        } finally {
            try {
                if (dataOutputStream != null)
                    dataOutputStream.close();
                mFileUsage.close();
            } catch (IOException e) { }
        }
    }
    
}

⌨️ 快捷键说明

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