source: josm/trunk/src/org/openstreetmap/josm/io/GeoJSONExporter.java@ 5749

Last change on this file since 5749 was 5749, checked in by Don-vip, 11 years ago

fix #8473 - Export GeoJSON as UTF-8 (patch by oschrenk)

File size: 1.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.io.BufferedWriter;
7import java.io.File;
8import java.io.FileOutputStream;
9import java.io.IOException;
10import java.io.OutputStreamWriter;
11import java.io.Writer;
12
13import org.openstreetmap.josm.actions.ExtensionFileFilter;
14import org.openstreetmap.josm.gui.layer.Layer;
15import org.openstreetmap.josm.gui.layer.OsmDataLayer;
16
17public class GeoJSONExporter extends FileExporter {
18
19 public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(
20 "json,geojson", "json", tr("GeoJSON Files") + " (*.json *.geojson)");
21
22 public GeoJSONExporter() {
23 super(FILE_FILTER);
24 }
25
26 @Override
27 public void exportData(File file, Layer layer) throws IOException {
28 if (layer instanceof OsmDataLayer) {
29 String json = new GeoJSONWriter((OsmDataLayer) layer).write();
30 Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
31 try {
32 out.write(json);
33 } finally {
34 out.close();
35 }
36 } else {
37 throw new IllegalArgumentException(tr("Layer ''{0}'' not supported", layer.getClass().toString()));
38 }
39 }
40}
Note: See TracBrowser for help on using the repository browser.