X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=kona%2Fsrc%2Forg%2Fgffs%2Fnetwork%2FURLDownloader.java;fp=kona%2Fsrc%2Forg%2Fgffs%2Fnetwork%2FURLDownloader.java;h=f7c590f710a3f7adccca3a1ddd2423fe8f8ead90;hb=13679382916f379ef7fc0cf02693f0186a905835;hp=0000000000000000000000000000000000000000;hpb=909697fd6009240b5bf2643d54b129b06b733953;p=feisty_meow.git diff --git a/kona/src/org/gffs/network/URLDownloader.java b/kona/src/org/gffs/network/URLDownloader.java new file mode 100644 index 00000000..f7c590f7 --- /dev/null +++ b/kona/src/org/gffs/network/URLDownloader.java @@ -0,0 +1,41 @@ +package org.gffs.network; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.net.URLConnection; + +import org.gffs.io.IOUtils; + +public abstract class URLDownloader +{ + static final private int CONNECTION_TIMEOUT = 1000 * 8; + static final private int READ_TIMEOUT = 1000 * 8; + + static public InputStream connect(URL url) throws IOException + { + URLConnection connection = url.openConnection(); + connection.setConnectTimeout(CONNECTION_TIMEOUT); + connection.setReadTimeout(READ_TIMEOUT); + connection.connect(); + return connection.getInputStream(); + } + + static public void download(URL source, File target) throws IOException + { + InputStream in = null; + OutputStream out = null; + + try { + in = connect(source); + out = new FileOutputStream(target); + IOUtils.copy(in, out); + } finally { + IOUtils.close(in); + IOUtils.close(out); + } + } +} \ No newline at end of file