import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.InputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public abstract class SrtmSource {
+ // methods implemented by each source
public abstract String getName();
public abstract boolean isReadyToUse();
public abstract boolean downloadTile(SrtmTile inTile)
public abstract int getRowSize(SrtmTile inTile);
protected abstract String getSourceExtension();
+ protected boolean downloadToFile(InputStream inStream, File outputFile)
+ throws IOException
+ {
+ FileOutputStream outStream = new FileOutputStream(outputFile);
+
+ byte[] buffer = new byte[4096];
+ int read = 0;
+ while ((read = inStream.read(buffer)) != -1)
+ {
+ outStream.write(buffer, 0, read);
+ }
+ // Make sure streams are closed
+ try {inStream.close();} catch (Exception e) {}
+ try {outStream.close();} catch (Exception e) {}
+ return true;
+
+ }
+
protected int[] slurpTileHeigths(ZipInputStream inStream, int tileSize)
throws IOException
{