Android学习笔记_文件下载

文件下载:
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
urlConn.getInputStream()
例:
HttpDownloader.java
public class HttpDownloader {
private URL url=null;
public String download(String urlStr){
StringBuffer sb=new StringBuffer();
String line=null;
BufferedReader buffer = null;
try{
url=new URL(urlStr);
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
buffer=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
while((line=buffer.readLine())!=null){
sb.append(line);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
}catch(Exception e){
e.printStackTrace();
}
}
return sb.toString();
}
//-1: 下载出错 0:下载成功 1:文件已经存在
pubblic int downFile(String urlStr,string path,String fileName){
Inputstream inputStream=null;
try{
FileUtils fileUtils=new FileUtils();
if(fileUtls.isFileExist(path+fileName)){
return 1;
}else{
inputStream=getInputStreamFromUrl(urlStr);
File resultFile=fileUtils.write2SDFromInput(path,fileName,inputStream);
if(resultFile==null){
return -1;
}
}
}catch(Exception e){
e.printStackTrace();
return -1;
}finally{
try{
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
return 0;
}

}

public class FileUtils{
private String SDPATH;
public String getSDPATH(){
return SDPATH;
}
public FileUtils(){
SDPATH=Environment.getExternalStorageDirectory()+"/";
}
public File createSDFile(String fileName)throws IOException{
File file=new File(SDPATH+fileName);
file.createNewFile();
return file;
}
public File createSDDir(String dirName){
File dir=new File(SDPATH+dirName);
dir.mkdir();
return dir;
}
public boolean isFileExist(String fileName){
File file=new File(SDPATH+fileName);
return file.exists();
}
public File write2SDFromInput(String path,String fileName,InputStream input){
File file=null;
OutputStream output=null;
try{
createSDDir(path);
file=createSDFile(path_fileName);
output=new FileOutputStream(file);
byte buffer[]=new byte[4*1024];
while((input.read(buffer))!=-1){
output.write(buffer);
}
output.flush();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
output.close();
}catch(Exception e){
e.printStackTrace();
}
}
return file;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值