Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.FileOutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.TimeZone;
- public class FileDownloader {
- public static void main(String[] args) throws Exception {
- downloadWebFile(" https://www.wsitrader.com/Services/CSVDownloadService.svc/GetWindcastIQHourlyForecast?Account=transaltaw&Profile=robert_nagel@transalta.com&Password=clipperw&ForecastDate=2020-02-13&ForecastType=Latest&SiteIds=e44e15bc-4200-11ea-965b-0a68756b68b8",
- "/Users/laichian/Desktop/JavaPractice/", true);
- }
- public static void downloadWebFile(String url, String savePath, boolean appendDateTime) throws Exception {
- URL sURL = new URL(url);
- String time = "";
- String fileExtension = "";
- // System.out.println("URL: " + sURL);
- // System.out.println("save path: " + savePath);
- HttpURLConnection httpConn = (HttpURLConnection) sURL.openConnection();
- // System.out.println("HTTP: " + httpConn);
- String fieldValue = httpConn.getHeaderField("Content-Disposition");
- // System.out.println(fieldValue);
- String fileName = fieldValue.substring(fieldValue.indexOf("filename=\"") + 10, fieldValue.length() - 1);
- // System.out.println(fileName);
- if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0) {
- fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
- }
- String fileNameWithoutExtension = fileName.replaceFirst("[.][^.]+$", "");
- // System.out.println(fileExtension);
- // System.out.println(fileNameWithoutExtension);
- if (appendDateTime) {
- Date date = new Date();
- DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
- formatter.setTimeZone(TimeZone.getTimeZone("EST"));
- time = formatter.format(date);
- System.out.println(time);
- }
- BufferedInputStream in = new BufferedInputStream(httpConn.getInputStream());
- FileOutputStream fos = new FileOutputStream(savePath + fileNameWithoutExtension + time + "." +fileExtension);
- BufferedOutputStream out = new BufferedOutputStream(fos, 1024);
- byte[] buffer = new byte[1024];
- int read = 0;
- while((read = in.read(buffer, 0, 1024)) >= 0) {
- out.write(buffer, 0, read);
- }
- out.close();
- in.close();
- System.out.println("Completed");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement