Package org.biojava.nbio.core.util
Class FileDownloadUtils
java.lang.Object
org.biojava.nbio.core.util.FileDownloadUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Copy the content of file src to dst TODO since java 1.7 this is provided in java.nio.file.Filesstatic void
deleteDirectory
(String dir) Recursively delete a folder & contentsstatic void
deleteDirectory
(Path dir) Recursively delete a folder & contentsstatic void
downloadFile
(URL url, 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 String
expandUserHome
(String file) Expands ~ in paths to the user's home directory.static String
Gets the file extension of a file, excluding '.'.static String
Gets the file name up to and excluding the first '.' character.static boolean
Pings a HTTP URL.static URLConnection
prepareURLConnection
(String url, int timeout) PrepareURLConnection
with customised timeouts.static String
toUnixPath
(String path) Converts path to Unix convention and adds a terminating slash if it was omitted.
-
Constructor Details
-
FileDownloadUtils
public FileDownloadUtils()
-
-
Method Details
-
copy
Copy the content of file src to dst TODO since java 1.7 this is provided in java.nio.file.Files- Parameters:
src
-dst
-- Throws:
IOException
-
getFileExtension
Gets the file extension of a file, excluding '.'. If the file name has no extension the file name is returned.- Parameters:
f
- a File- Returns:
- The extension
-
getFilePrefix
Gets the file name up to and excluding the first '.' character. If there is no extension, the full filename is returned.- Parameters:
f
- A file- Returns:
- A possibly empty but non-null String.
-
downloadFile
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. A timeout of 60 seconds is hard-coded and 10 retries are attempted.- Parameters:
url
-destination
-- Throws:
IOException
-
toUnixPath
Converts path to Unix convention and adds a terminating slash if it was omitted.- Parameters:
path
- original platform dependent path- Returns:
- path in Unix convention
- Since:
- 3.2
-
expandUserHome
Expands ~ in paths to the user's home directory.This does not work for some special cases for paths: Other users' homes (~user/...), and Tilde expansion within the path (/.../~/...). In these cases the original argument is returned.
- Parameters:
file
- A filepath starting with a tilde- Returns:
- An absolute path
-
ping
Pings a HTTP URL. This effectively sends a HEAD request and returnstrue
if the response code is in the 200-399 range.- Parameters:
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.- Returns:
true
if the given HTTP URL has returned response code 200-399 on a HEAD request within the given timeout, otherwisefalse
.
-
prepareURLConnection
PrepareURLConnection
with customised timeouts.- Parameters:
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();
NB. User should execute connect() method before getting input stream. - Returns:
- Throws:
IOException
-
deleteDirectory
Recursively delete a folder & contents- Parameters:
dir
- directory to delete- Throws:
IOException
-
deleteDirectory
Recursively delete a folder & contents- Parameters:
dir
- directory to delete- Throws:
IOException
-