1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-01 12:24:14 +01:00

Added support to file:// protocol. Fixes #4098

This commit is contained in:
Federico Fissore 2015-11-19 12:08:17 +01:00
parent 2747fddd10
commit 960918796e

View File

@ -38,7 +38,12 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.*;
import java.net.HttpURLConnection;
import java.net.Proxy;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Observable;
public class FileDownloader extends Observable {
@ -112,6 +117,24 @@ public class FileDownloader extends Observable {
}
public void download() throws InterruptedException {
if ("file".equals(downloadUrl.getProtocol())) {
saveLocalFile();
} else {
downloadFile();
}
}
private void saveLocalFile() {
try {
Files.write(outputFile.toPath(), Files.readAllBytes(Paths.get(downloadUrl.getPath())));
setStatus(Status.COMPLETE);
} catch (Exception e) {
setStatus(Status.ERROR);
setError(e);
}
}
private void downloadFile() throws InterruptedException {
RandomAccessFile file = null;
try {