Ignore:
Timestamp:
2012-07-25T02:31:52+02:00 (12 years ago)
Author:
Don-vip
Message:

fix #7879 - Allow to open local and remote gzipped/bzipped osmChange files + remote osm.gz files + make some public constants of File filters to share between same importers/exporters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/OsmBzip2Importer.java

    r5317 r5361  
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
    6 import java.io.BufferedInputStream;
    76import java.io.File;
    87import java.io.FileInputStream;
    98import java.io.IOException;
    10 import java.io.InputStream;
    119
    12 import org.apache.tools.bzip2.CBZip2InputStream;
    1310import org.openstreetmap.josm.actions.ExtensionFileFilter;
    1411import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     
    1613public class OsmBzip2Importer extends OsmImporter {
    1714
     15    public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(
     16            "osm.bz2,osm.bz", "osm.bz2", tr("OSM Server Files bzip2 compressed") + " (*.osm.bz2 *.osm.bz)");
     17   
    1818    public OsmBzip2Importer() {
    19         super(new ExtensionFileFilter("osm.bz2,osm.bz", "osm.bz2", tr("OSM Server Files bzip2 compressed")
    20                 + " (*.osm.bz2 *.osm.bz)"));
     19        super(FILE_FILTER);
    2120    }
    2221
     
    2524        importData(getBZip2InputStream(new FileInputStream(file)), file);
    2625    }
    27    
    28     public static CBZip2InputStream getBZip2InputStream(InputStream in) throws IOException {
    29         if (in == null) {
    30             return null;
    31         }
    32         BufferedInputStream bis = new BufferedInputStream(in);
    33         int b = bis.read();
    34         if (b != 'B')
    35             throw new IOException(tr("Invalid bz2 file."));
    36         b = bis.read();
    37         if (b != 'Z')
    38             throw new IOException(tr("Invalid bz2 file."));
    39         return new CBZip2InputStream(bis);
    40     }
    4126}
Note: See TracChangeset for help on using the changeset viewer.