文件下载:
1,下载:使用网络协议下载文件,这里主要是讲利用 HTTP 协议下载。
2,保存:文件可以保存到手机内存,也可以下载到 SDCard。
创建一个 HttpURLConnection 对象。通过 URL 的 openConnection 方法,就可以得到一个 HttpURLConnection 对象,所以要先创建一个 URL 对象;
//得到一个URL对象
m_URL = new URL(strURL);
//由URL对象得到一个HttpURLConnection对象
urlConn = (HttpURLConnection)m_URL.openConnection();
通过 HttpURLConnection 对象的 getInputStream 方法可以得到一个 InputStream 对象;
bufferR = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
获取网络访问的权限。
<uses-permission android:name="android.permission.INTERNET"/>
文件保存(保存到 SDCard ):
得到设备 SD 卡的目录:使用 Environment.getExternalStorageDirectory 得到 SD 卡的目录;
SDPATH = Environment.getExternalStorageDirectory() + "/";
向 SD 卡里面写入文件
public File creatSDDir(String dirName) {
File dir = new File(SDPATH + dirName);
dir.mkdir();
return dir;
}
在目录中创建文件;
public File creatSDFile(String fileName) throws IOException {
File file = new File(SDPATH + fileName);
file.createNewFile();
return file;
}
根据文件对象创建一个 OutPutStream 向文件里写入内容。
OutputStream output = null;
InputStream input;
file = creatSDFile(path + fileName);
output = new FileOutputStream(file);
byte buffer [] = new byte[4 * 1024];
while((input.read(buffer)) != -1){
output.write(buffer);
}