java 根据url 下载到指定位置
时间: 2023-11-12 13:03:52 浏览: 97
java根据网络地址下载文件
您好!非常感谢您对ChitGPT的使用。针对您的问题,您可以使用Java中的URLConnection和InputStream来实现。具体步骤如下:
1. 创建一个URL对象,指定需要下载的文件的URL地址;
2. 通过创建的URL对象打开连接,获取URLConnection对象;
3. 调用URLConnection对象的connect()方法连接到远程服务器,获取文件长度信息;
4. 通过URLConnection对象调用getInputStream()方法获取文件的数据流;
5. 创建一个 FileOutputStream 对象,指定需要保存到的本地路径;
6. 创建一个字节数组,作为缓冲区,循环读取数据流,将读取到的数据写入输出流中,并且每次读取的字节数不超过缓冲区的大小;
7. 关闭输入输出流,释放资源。
示例代码如下:
```
public static void downloadFile(String url, String filePath) {
URLConnection connection = null;
InputStream inputStream = null;
FileOutputStream fileOutputStream = null;
try {
URL fileUrl = new URL(url);
connection = fileUrl.openConnection();
connection.connect();
int fileLength = connection.getContentLength();
inputStream = connection.getInputStream();
byte[] buffer = new byte[1024];
int len = 0;
fileOutputStream = new FileOutputStream(filePath);
while ((len = inputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fileOutputStream != null) {
fileOutputStream.close();
}
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
希望能够帮到您!如有其他问题,欢迎继续提问。
阅读全文