文件下载工具类
来源:互联网 发布:杭电网络攻防平台 编辑:程序博客网 时间:2024/05/20 04:12
import android.os.AsyncTask;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.net.HttpURLConnection;import java.net.URL;public class MyDownAsync extends AsyncTask<String,Integer,byte[]> { private File file; private FreedomCallback freedomCallback; public MyDownAsync(File file,FreedomCallback freedomCallback) { this.file = file; this.freedomCallback=freedomCallback; } @Override protected byte[] doInBackground(String... params) { if(params[0]!=null){ saveFileFromURL(params[0],file); } return null; } @Override protected void onPostExecute( byte[] result) { freedomCallback.finished(result); super.onPostExecute(result); } public static boolean saveFileFromURL(String url, File destFile) { HttpURLConnection httpConn = null; BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bos = new BufferedOutputStream(new FileOutputStream(destFile)); URL urlObj = new URL(url); httpConn = (HttpURLConnection) urlObj.openConnection(); httpConn.setRequestMethod("GET"); httpConn.setDoInput(true); httpConn.setConnectTimeout(100000); httpConn.connect(); if (httpConn.getResponseCode() == 200) { bis = new BufferedInputStream(httpConn.getInputStream()); int c = 0; byte[] buffer = new byte[8 * 1024]; while ((c = bis.read(buffer)) != -1) { bos.write(buffer, 0, c); bos.flush(); } } return true; } catch (Exception e) { e.printStackTrace(); } finally { try { if (bis != null) { bis.close(); } if (bos != null) { bos.close(); } httpConn.disconnect(); } catch (IOException e) { e.printStackTrace(); } } return false; } public interface FreedomCallback { void finished(byte[] result); }}
File file=new File(mDownloadDir+"/"+"hello.js"); new MyDownAsync(file, new MyDownAsync.FreedomCallback() { @Override public void finished(byte[] result) { } }).execute(url);
0 0
- java文件下载工具类
- 文件下载工具类
- 文件下载工具类
- 文件下载工具类
- 文件下载工具类
- 文件下载工具类
- 文件下载工具类
- 深蓝计划之java 文件下载工具类
- 天易42----java实现文件下载工具类
- ftp文件上传及下载工具类
- ftp文件上传及下载工具类
- Java之文件下载工具类-yellowcong
- Android基于Okhttp3的文件下载工具类
- 下载工具类
- Linux 文件下载工具 - aria2
- 【java】HttpClient实现HTTP文件通用下载工具类
- 使用commons-net实现FTP文件上传与下载工具类
- 文件下载工具类,三种浏览器的解码
- sublime text不能安装插件,there are no packages available for installation。
- 程序员学习网站
- APNS 学习总结(一)
- DLX
- [Wondgirl]从零开始学React Native之View(四)
- 文件下载工具类
- SendInput模拟鼠标消息的发送
- QML学习之基本元素TextInput, TextField, TextEdit, TextArea介绍
- java去警告(@SuppressWarnings)
- Immutable bitmap passed to Canvas constructor
- 周五随笔
- TCP长连接与短连接的区别
- 使用jQuery插件Flot,绘制饼图
- spring4 + log4j2+ slf4j的配置