// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.io;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.tools.bzip2.CBZip2InputStream;
import org.openstreetmap.josm.actions.ExtensionFileFilter;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
public class OsmBzip2Importer extends OsmImporter {
public OsmBzip2Importer() {
super(new ExtensionFileFilter("osm.bz2,osm.bz", "osm.bz2", tr("OSM Server Files bzip2 compressed")
+ " (*.osm.bz2 *.osm.bz)"));
}
@Override
public void importData(File file, ProgressMonitor progressMonitor) throws IOException, IllegalDataException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
int b = bis.read();
if (b != 'B')
throw new IOException(tr("Invalid bz2 file."));
b = bis.read();
if (b != 'Z')
throw new IOException(tr("Invalid bz2 file."));
CBZip2InputStream in = new CBZip2InputStream(bis);
importData(in, file);
}
}