Для начала, стоит отметить, что java.rmi
("Remote Method Invocation") не является подходящим инструментом для скачивания файлов. Java RMI предназначен для вызова удаленных методов (RPC), а не для работы с файлами через интернет.
Если вы хотите скачать файлы в Java, предлагаю использовать другие более подходящие инструменты, такие как java.net.URL
и java.net.HttpURLConnection
. Ниже пример кода, демонстрирующий, как скачать файл с использованием Java:
import java.io.*; import java.net.URL; import java.net.HttpURLConnection; public class FileDownloader { public static void main(String[] args) { String fileUrl = "https://example.com/file.txt"; String saveDir = "C:/downloads/"; try { URL url = new URL(fileUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); int responseCode = httpConn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { String fileName = ""; String disposition = httpConn.getHeaderField("Content-Disposition"); if (disposition != null) { int index = disposition.indexOf("filename="); if (index > 0) { fileName = disposition.substring(index + 10, disposition.length() - 1); } } else { fileName = fileUrl.substring(fileUrl.lastIndexOf("/") + 1); } InputStream inputStream = httpConn.getInputStream(); String saveFilePath = saveDir + File.separator + fileName; FileOutputStream outputStream = new FileOutputStream(saveFilePath); int bytesRead; byte[] buffer = new byte[4096]; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); System.out.println("File downloaded successfully!"); } else { System.out.println("No file to download. Server replied HTTP code: " + responseCode); } httpConn.disconnect(); } catch (IOException e) { e.printStackTrace(); } } }
Пример кода использует HttpURLConnection
для создания HTTP-соединения с сервером, InputStream
для чтения данных, и FileOutputStream
для записи данных в файл. После скачивания файла, вы можете обрабатывать файл в соответствии с вашими потребностями.
Надеюсь, данная информация полезна для вас. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.