package com.github.vbauer.jconditions.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import java.net.URL; import java.net.URLConnection; /** * @author Vladislav Bauer */ public final class NetUtils { public static final String HTTP_PREFIX = "http://"; private NetUtils() { throw new UnsupportedOperationException(); } public static String fixScheme(final String address) { if (address != null) { final URI uri = URI.create(address); final String scheme = uri.getScheme(); if (scheme == null) { return HTTP_PREFIX + address; } } return address; } public static File copyURLContentToFile( final URLConnection connection, final String target ) throws Exception { InputStream input = null; OutputStream output = null; try { final File file = new File(target); output = new FileOutputStream(file); input = connection.getInputStream(); InOutUtils.copy(input, output); return file; } finally { InOutUtils.closeQuietly(input); InOutUtils.closeQuietly(output); } } public static URLConnection connectURL(final String uri, final int timeout) throws IOException { final URL url = new URL(uri); final URLConnection connection = url.openConnection(); connection.setConnectTimeout(timeout); connection.connect(); return connection; } }