package ycitss.android.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpDownloader {
private URL url = null;
/**
* 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容 1.创建一个URL对象
* 2.通过URL创建一个HttpRULConnction对象 3.得到InputStream 4.从InputStream当中读取数据
*
* @param urlStr
* @return
*/
public String download(String urlStr) {
StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader buffer = null;
try {
// 创建一个URL对象
url = new URL(urlStr);
// 创建一个Http连接
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
// 使用IO流读取数据
buffer = new BufferedReader(new InputStreamReader(urlConn
.getInputStream()));
while ((line = buffer.readLine()) != null) {
sb.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
buffer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return sb.toString();
}
/**
* 该函数返回整型:-1代表下载文件出错,0:代表下载文件成功,1:代表文件已经存在
*
* @param urlStr
* @param path
* @param fileName
* @return
*/
public int downFile(String urlStr, String path, String fileName) {
InputStream inputStream = null;
try {
FileUtils fileUtils = new FileUtils();
if (fileUtils.isFileExist(path + fileName)) {
return 1;
} else {
inputStream = getInputStreamFromUrl(urlStr);
File resultFile = fileUtils.writeToSDFromInput(path, fileName,
inputStream);
if (resultFile == null) {
return -1;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return 0;
}
/**
* 根据RUL得到输入流
*
* @param urlStr
* @return
* @throws MalformedURLException
* @throws IOException
*/
public InputStream getInputStreamFromUrl(String urlStr)
throws MalformedURLException, IOException {
url = new URL(urlStr);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
InputStream inputStream = urlConn.getInputStream();
return inputStream;
}
}
android mars视频代码 XML解析 SAX解析XML xml 源码
5星 · 超过95%的资源 需积分: 9 111 浏览量
2011-03-10
16:01:13
上传
评论 2
收藏 54KB RAR 举报
mbcqss
- 粉丝: 10
- 资源: 108
最新资源
- asp代码ASP基于WEB楼宇专业网站毕业设计(源代码+论文)
- 九宫重排.docx 验证重排后的九宫格是否满足所有条件,包括每行、每列和每个子区域的目标和值相等,以及是否包含1到9的所有数字
- asp代码ASP基于WEB聊天室的设计与实现(源代码+论文+任务书)
- 质数的判断条件.docx
- android-ocr-master,android-ocr-master
- asp代码ASP基于WEB教学评估系统设计(源代码+论文)
- asp代码ASP基于WEB购物系统(论文+源代码+开题报告+答辩PPT+操作说明)
- quartus ii安装教程.docx
- 基于Django框架的后台管理系统设计源码
- 众数问题.docx "众数"是统计学中的一个概念,指的是一组数据中出现次数最频繁的值
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页