В этой статье мы рассмотрим простой способ скачать файл с интернета. В нашей программе мы не будем использовать сторонние библиотеки, так как стандартные средства Java позволяют легко скачать файл по url с любого сервера.
Итак, в нашем примере мы будем использовать два способа скачать файл:
С помощью Java NIO Channels
и Java IO InputStream
.
Ниже представлена программы для загрузки файла с интернета на Java.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
package ua.com.prologistic; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; public class DownloadFileFromURL { public static void main(String[] args) { // будем качать карту сайта моего сайта - в вашем случае замените ссылку на свою String url = "https://javadevblog.com/sitemap.xml"; try { // качаем файл с помощью NIO downloadUsingNIO(url, "/Users/prologistic/sitemapnio.xml"); // качаем файл с помощью Stream downloadUsingStream(url, "/Users/prologistic/sitemap_stream.xml"); } catch (IOException e) { e.printStackTrace(); } } // качаем файл с помощью Stream private static void downloadUsingStream(String urlStr, String file) throws IOException{ URL url = new URL(urlStr); BufferedInputStream bis = new BufferedInputStream(url.openStream()); FileOutputStream fis = new FileOutputStream(file); byte[] buffer = new byte[1024]; int count=0; while((count = bis.read(buffer,0,1024)) != -1) { fis.write(buffer, 0, count); } fis.close(); bis.close(); } // качаем файл с помощью NIO private static void downloadUsingNIO(String urlStr, String file) throws IOException { URL url = new URL(urlStr); ReadableByteChannel rbc = Channels.newChannel(url.openStream()); FileOutputStream fos = new FileOutputStream(file); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } } |
Не грузит.
Сделайте так чтобы грузил