在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或其他第三方库来处理文件下载。