可以使用以下代码示例来从URL下载文件:
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
public class DownloadFileFromURL {
public static void main(String[] args) {
String fileURL = "http://example.com/file.pdf";
String saveDir = "C:/downloads/";
try {
downloadFile(fileURL, saveDir);
System.out.println("File downloaded successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void downloadFile(String fileURL, String saveDir) throws IOException {
URL url = new URL(fileURL);
URLConnection connection = url.openConnection();
BufferedInputStream inputStream = new BufferedInputStream(connection.getInputStream());
FileOutputStream outputStream = new FileOutputStream(saveDir + getFileName(fileURL));
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
inputStream.close();
}
public static String getFileName(String fileURL) {
String fileName = "";
int lastSlashIndex = fileURL.lastIndexOf('/');
if (lastSlashIndex != -1 && lastSlashIndex < fileURL.length() - 1) {
fileName = fileURL.substring(lastSlashIndex + 1);
}
return fileName;
}
}
在上面的示例中,fileURL
是要下载的文件的URL,saveDir
是要保存文件的目录。downloadFile
方法使用URLConnection
从URL打开连接,并使用BufferedInputStream
读取文件内容。然后,使用FileOutputStream
将文件内容写入本地文件。最后,使用getFileName
方法获取文件名。