android 实现文件下载
来源:互联网 发布:怎么提高淘宝销售量 编辑:程序博客网 时间:2024/04/28 08:37
1.创建文件工具类(FileUtil.java)
package com.zengke.fileutil;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import android.os.Environment;
/**
* 文件助手类
* @author zengke
*
*/
public class FileUtil {
static String SDpath=null;
/**
* 得到SD卡的目录(从手机环境中得到可拓展存储目录)
*/
public FileUtil(){
SDpath=Environment.getExternalStorageDirectory()+"/";
}
/**
* 在SD卡上创建文件
* @param filename
* @return
* @throws Exception
*/
public static File createSDFile(String filename)throws Exception{
File file=new File(SDpath+filename);
file.createNewFile();
return file;
}
/**
* 在SD卡上创建目录
* @param filename
* @return
* @throws Exception
*/
public static File creatSDDir(String filename)throws Exception{
File file=new File(SDpath+filename);
file.mkdir();
return file;
}
/**
* 判读文件是否存在
* @param filename
* @return
* @throws Exception
*/
public static boolean isExsit(String filename){
File file=new File(SDpath+filename);
return file.exists();
}
/**
* 将文件写入到SD卡
* @param path 保存文件的路径
* @param filename 文件名
* @param inputStream 文件流
* @return
* @throws Exception
*/
public static File write2SDFromInputStream(String path,String filename,InputStream inputStream) throws Exception{
File file=null;
OutputStream os=null;
creatSDDir(path); //创建目录
file=createSDFile(filename);//创建文件
os=new FileOutputStream(file);//将文件流化
byte[] bytes=new byte[4*1024];
while(inputStream.read(bytes)!=-1){
os.write(bytes); //将内容写入文件
}
os.flush();
os.close();
os=null;
return file;
}
}
2.文件下载类(FileDownloadUtil.java)
package com.zengke.fileutil;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 文件下载帮助类
* @author zengke
*
*/
public class FileDownLoadUtil {
URL url=null;
/**
* 得到文件流
* @param filename 文件名
* @return
* @throws Exception
*/
public InputStream getInputStream(String filename)throws Exception{
url=new URL(filename);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
InputStream is=con.getInputStream();
return is;
}
/**
* 模拟下载文本文件(只是获得内容,没有写入到磁盘)
* @param filename
* @return
* @throws Exception
*/
public String download(String filename)throws Exception{
StringBuffer sb=new StringBuffer();
InputStream is=getInputStream(filename);
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String temp="";
while((temp=br.readLine())!=null){
sb.append(temp);
}
br.close();
is.close();
is=null;
br=null;
return sb.toString();
}
/**
* 下载非文本文件
* @param urlStr 网络文件路径
* @param savePath 保存的位置
* @param filename 文件名
* @return 1.代表文件已存在 0.代表下载正常* @throws Exception
*/
public int downloadfile(String urlStr,String savePath,String filename)throws Exception{
InputStream is=null;
if(FileUtil.isExsit(savePath+filename)){
return 1;
}
is=getInputStream(urlStr);
File file= FileUtil.write2SDFromInputStream(savePath, filename, is);
if(null==file){
return -1;
}
return 0;
}
}
- Android实现文件下载
- android 实现文件下载
- android实现文件下载
- Android 实现文件的下载
- Android实现文件下载断点续传
- Android 实现文件的下载
- Android实现单一文件下载
- Android 实现文件的下载
- Android中实现文件下载
- Android文件下载进度条的实现
- Android进阶:实现多线程下载文件
- Android进阶:实现多线程下载文件
- Android Webview实现文件下载功能
- Android 利用缓存机制实现文件下载
- Android文件下载进度条的实现
- Android中如何实现文件下载
- Android 利用缓存机制实现文件下载
- Android通过http下载文件实现小记
- SQL 语句大全
- shell关于参数的处理(转)
- Linux系统日志的组成
- 基因牛 张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。
- 关于hadoop mapreduce的job cleanup阶段
- android 实现文件下载
- bzero, memset ,setmem 区别
- div+css样式兼容
- Node.js websocket 聊天室 相关资料
- XNA4.0 在游戏窗口上显示中文
- Linux进程间通信之信号量
- 1到n,n个数的最小公倍数
- VS使用TRACE _tprintf _tprintf_s wprintf wprintf_s 显示中文调试信息
- XNA4.0 类和方法的注释显示为中文插件下载和安装方法(图文教程)