在Java中,可以使用java.net包中的URLConnection類來下載文件。以下是一個安全高效地下載文件的示例代碼:
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class FileDownloader {
public static void main(String[] args) {
String fileUrl = "https://example.com/file.txt";
String destinationPath = "downloaded_file.txt";
try {
URL url = new URL(fileUrl);
URLConnection urlConnection = url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
FileOutputStream fileOutputStream = new FileOutputStream(destinationPath);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
fileOutputStream.close();
bufferedInputStream.close();
inputStream.close();
System.out.println("File downloaded successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代碼中,我們首先創建一個URL對象,并使用它來打開一個URLConnection連接。然后,我們從連接中獲取輸入流,并使用緩沖輸入流來提高性能。最后,我們將文件內容寫入到目標文件中。
請注意,這只是一個簡單的文件下載示例,并且沒有考慮到一些安全和性能方面的問題。如果需要更高級的下載功能,建議使用Apache HttpClient或其他第三方庫來處理文件下載。