public class FileDownloadUtils
extends java.lang.Object
Constructor and Description |
---|
FileDownloadUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
copy(java.io.File src,
java.io.File dst)
Copy the content of file src to dst TODO since java 1.7 this is provided
in java.nio.file.Files
|
static void |
downloadFile(java.net.URL url,
java.io.File destination)
Download the content provided at URL url and store the result to a local
file, using a temp file to cache the content in case something goes wrong
in download
|
static java.lang.String |
expandUserHome(java.lang.String file)
Expands ~ in paths to the user's home directory.
|
static java.lang.String |
getFileExtension(java.io.File f) |
static java.lang.String |
getFilePrefix(java.io.File f) |
static void |
main(java.lang.String[] args) |
static boolean |
ping(java.lang.String url,
int timeout)
Pings a HTTP URL.
|
static java.net.URLConnection |
prepareURLConnection(java.lang.String url,
int timeout)
Prepare
URLConnection with customised timeouts. |
static java.lang.String |
toUnixPath(java.lang.String path)
Converts path to Unix convention and adds a terminating slash if it was
omitted
|
public static void copy(java.io.File src, java.io.File dst) throws java.io.IOException
src
- dst
- java.io.IOException
public static java.lang.String getFileExtension(java.io.File f)
public static java.lang.String getFilePrefix(java.io.File f)
public static void downloadFile(java.net.URL url, java.io.File destination) throws java.io.IOException
url
- destination
- java.io.IOException
public static java.lang.String toUnixPath(java.lang.String path)
path
- original platform dependent pathpublic static java.lang.String expandUserHome(java.lang.String file)
This does not work for some special cases for paths: Other users' homes (~user/...), and Tilde expansion within the path (/.../~/...)
file
- public static boolean ping(java.lang.String url, int timeout)
true
if the response code is in the 200-399 range.url
- The HTTP URL to be pinged.timeout
- The timeout in millis for both the connection timeout and
the response read timeout. Note that the total timeout is effectively two
times the given timeout.true
if the given HTTP URL has returned response
code 200-399 on a HEAD request within the given timeout, otherwise
false
.public static java.net.URLConnection prepareURLConnection(java.lang.String url, int timeout) throws java.io.IOException
URLConnection
with customised timeouts.url
- The URLtimeout
- The timeout in millis for both the connection timeout and
the response read timeout. Note that the total timeout is effectively two
times the given timeout.
Example of code.
UrlConnection conn = prepareURLConnection("http://www.google.com/", 20000);
conn.connect();
conn.getInputStream();
java.io.IOException
public static void main(java.lang.String[] args)