JAVA通过URL下载文件(POST,参数)
来源:互联网 发布:webuploader php demo 编辑:程序博客网 时间:2024/06/05 09:05
import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;/** * Java原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用, * 但不够简便; * * 1.通过统一资源定位器(java.net.URL)获取连接器(java.net.URLConnection) * 2.设置请求的参数 * 3.发送请求 * 4.以输入流的形式获取返回内容 5.关闭输入流 * * @author H__D * */public class HttpConnectionUtil { /** * * @param urlPath * 下载路径 * @param downloadDir * 下载存放目录 * @return 返回下载文件 * @throws Exception */ public static void downloadFile(String urlPath, String saveDir) throws Exception { URL url = new URL(urlPath); // 连接类的父类,抽象类 URLConnection urlConnection = url.openConnection(); // http的连接类 HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection; // 设定请求的方法,默认是GET(对于知识库的附件服务器必须是GET,如果是POST会返回405。流程附件迁移功能里面必须是POST,有所区分。) httpURLConnection.setRequestMethod("GET"); // 设置字符编码 httpURLConnection.setRequestProperty("Charset", "UTF-8"); // 打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接)。 int code = httpURLConnection.getResponseCode(); InputStream inputStream = httpURLConnection.getInputStream();// ByteArrayOutputStream baos = new ByteArrayOutputStream();// byte[] buffer = new byte[1024];// int len = 0;// byte[] dataBytes = null;// while ((len = inputStream.read(buffer)) != -1 ) { // baos.write(buffer, 0, len); // }// baos.flush();// dataBytes = baos.toByteArray();// InputStream returnInputStream = new ByteArrayInputStream(dataBytes); File file = new File(saveDir); OutputStream out = new FileOutputStream(file); int size = 0; int lent = 0; byte[] buf = new byte[1024]; while ((size = inputStream.read(buf)) != -1) { lent += size; out.write(buf, 0, size); } inputStream.close(); out.close(); } public static void main(String[] args) throws Exception { // 下载文件测试 downloadFile("http://image5.suning.cn/uimg/cms/img/150338612019892140.png", "c:\\logo.jpg"); }}被注释掉的代码,放开会更好。如果你获取的InputStream不是保存到本地,而是直接直接作为输入流上传到其他平台,那么必须把注释的代码放开,这个代码是用来保证一个完整的InputStream。
阅读全文
0 0
- JAVA通过URL下载文件(POST,参数)
- java通过URL下载文件
- java 通过url下载文件到浏览
- 通过url下载文件
- 通过url下载文件
- 通过URL下载文件
- 通过URL下载文件
- Android: 通过URL下载文件
- ipa文件通过url下载
- js通过Url下载文件
- 通过表单form模拟post方式提交多参数实现文件下载
- java实现post get 传参数url
- tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法(转)
- tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法
- javaWeb通过POST来下载文件
- AngularJS通过post方法下载excel文件
- 使用js发送post参数下载文件
- android通过URL路径下载安装文件
- fastjson中JSON语句与map转换(结合List与JSONObject)
- FZU 2028
- 【Codevs1078】最小生成树 Prim算法(5/1000)
- Druid集成Kerberos
- 如何在Android系统锁屏后使程序继续运行
- JAVA通过URL下载文件(POST,参数)
- 【Python】判断一个字符串是否是合法IP地址
- 随机删除重复数据
- PHP二维数组根据某一个字段进行排序
- Pytorch-学习记录 卷积操作——Tensor.size()
- Java 深入学习(2) —— ArrayList、LinkedList、Vector 应用场景与性能分析
- 一片文章叫你玩转JQuery
- Flume 笔记
- 偏函数