diff --git a/arduino-core/src/cc/arduino/contributions/GZippedJsonDownloader.java b/arduino-core/src/cc/arduino/contributions/GZippedJsonDownloader.java index df7eee420b1..6b6f3812327 100644 --- a/arduino-core/src/cc/arduino/contributions/GZippedJsonDownloader.java +++ b/arduino-core/src/cc/arduino/contributions/GZippedJsonDownloader.java @@ -51,10 +51,14 @@ public GZippedJsonDownloader(DownloadableContributionsDownloader downloader, URL public void download(File tmpFile, Progress progress, String statusText, ProgressListener progressListener) throws Exception { try { - new JsonDownloader(downloader, gzippedUrl).download(tmpFile, progress, statusText, progressListener); File gzipTmpFile = new File(tmpFile.getParentFile(), GzipUtils.getCompressedFilename(tmpFile.getName())); - tmpFile.renameTo(gzipTmpFile); + // remove eventual leftovers from previous downloads + if (gzipTmpFile.exists()) { + gzipTmpFile.delete(); + } + new JsonDownloader(downloader, gzippedUrl).download(gzipTmpFile, progress, statusText, progressListener); decompress(gzipTmpFile, tmpFile); + gzipTmpFile.delete(); } catch (Exception e) { new JsonDownloader(downloader, url).download(tmpFile, progress, statusText, progressListener); }