اليوم سنتعلم كيفية تحميل ملف من عنوان URL في جافا. يمكننا استخدام الطريقة java.net.URL
openStream()
لتحميل الملف من عنوان URL في برنامج جافا. يمكننا استخدام قنوات Java NIO Channels أو Java IO InputStream لقراءة البيانات من تيار الافتتاح URL ثم حفظها في الملف.
تنزيل ملف Java من عنوان URL
إليك برنامج مثالي بسيط لتنزيل ملف جافا من عنوان URL. يظهر كلا الطريقتين لتنزيل ملف من عنوان URL في جافا.
JavaDownloadFileFromURL.java
package com.journaldev.files;
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 JavaDownloadFileFromURL {
public static void main(String[] args) {
String url = "https://www.journaldev.com/sitemap.xml";
try {
downloadUsingNIO(url, "/Users/pankaj/sitemap.xml");
downloadUsingStream(url, "/Users/pankaj/sitemap_stream.xml");
} catch (IOException e) {
e.printStackTrace();
}
}
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();
}
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();
}
}
downloadUsingStream: في هذه الطريقة لتنزيل ملف جافا من عنوان URL، نستخدم طريقة URL openStream
لإنشاء تيار الإدخال. ثم نستخدم تيار الإخراج من الملف لقراءة البيانات من تيار الإدخال وكتابتها إلى الملف. downloadUsingNIO: في هذه الطريقة لتنزيل ملف من عنوان URL، نقوم بإنشاء قناة بايت من بيانات تيار URL. ثم نستخدم تيار الإخراج من الملف لكتابته في الملف. يمكنك استخدام أي من هذه الطرق لتنزيل الملف من عنوان URL في برنامج جافا. إذا كنت تبحث عن الأداء، فقم بإجراء بعض التحليلات باستخدام كلا الطريقتين وانظر ما يناسب احتياجاتك.
يمكنك التحقق من المزيد من أمثلة Java IO في مستودع GitHub الخاص بنا.
Source:
https://www.digitalocean.com/community/tutorials/java-download-file-url