diff options
Diffstat (limited to 'main/src/cgeo/geocaching/export/GpxExport.java')
| -rw-r--r-- | main/src/cgeo/geocaching/export/GpxExport.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java index c31b1ae..36e43a0 100644 --- a/main/src/cgeo/geocaching/export/GpxExport.java +++ b/main/src/cgeo/geocaching/export/GpxExport.java @@ -9,6 +9,8 @@ import cgeo.geocaching.utils.AsyncTaskWithProgress; import cgeo.geocaching.utils.FileUtils; import cgeo.geocaching.utils.Log; +import org.apache.commons.lang3.CharEncoding; + import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -23,8 +25,9 @@ import android.widget.TextView; import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStreamWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -128,17 +131,17 @@ class GpxExport extends AbstractExport { BufferedWriter writer = null; try { final File exportLocation = new File(Settings.getGpxExportDir()); - exportLocation.mkdirs(); + FileUtils.mkdirs(exportLocation); - writer = new BufferedWriter(new FileWriter(exportFile)); + writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(exportFile), CharEncoding.UTF_8)); new GpxSerializer().writeGPX(allGeocodes, writer, new GpxSerializer.ProgressListener() { @Override - public void publishProgress(int countExported) { + public void publishProgress(final int countExported) { ExportTask.this.publishProgress(countExported); } }); - } catch (final Exception e) { + } catch (final IOException e) { Log.e("GpxExport.ExportTask export", e); if (writer != null) { @@ -148,9 +151,9 @@ class GpxExport extends AbstractExport { // Ignore double error } } - // delete partial gpx file on error + // delete partial GPX file on error if (exportFile.exists()) { - exportFile.delete(); + FileUtils.deleteIgnoringFailure(exportFile); } return null; |
