Android 將文件下載到指定目錄的實(shí)現(xiàn)代碼
廢話不多說了額,直接給大家貼代碼了,具體代碼如下所示:
/**
* 下載指定路徑的文件,并寫入到指定的位置
*
* @param dirName
* @param fileName
* @param urlStr
* @return 返回0表示下載成功,返回1表示下載出錯(cuò)
*/
public int downloadFile(String dirName, String fileName, String urlStr) {
OutputStream output = null;
try {
//將字符串形式的path,轉(zhuǎn)換成一個(gè)url
URL url = new URL(urlStr);
//得到url之后,將要開始連接網(wǎng)絡(luò),以為是連接網(wǎng)絡(luò)的具體代碼
//首先,實(shí)例化一個(gè)HTTP連接對象conn
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//定義請求方式為GET,其中GET的大小寫不要搞錯(cuò)了。
conn.setRequestMethod("GET");
//定義請求時(shí)間,在ANDROID中最好是不好超過10秒。否則將被系統(tǒng)回收。
conn.setConnectTimeout(6 * 1000);
//請求成功之后,服務(wù)器會(huì)返回一個(gè)響應(yīng)碼。如果是GET方式請求,服務(wù)器返回的響應(yīng)碼是200,post請求服務(wù)器返回的響應(yīng)碼是206(貌似)。
if (conn.getResponseCode() == 200) {
//返回碼為真
//從服務(wù)器傳遞過來數(shù)據(jù),是一個(gè)輸入的動(dòng)作。定義一個(gè)輸入流,獲取從服務(wù)器返回的數(shù)據(jù)
InputStream input = conn.getInputStream();
File file = createFile(dirName + fileName);
output = new FileOutputStream(file);
//讀取大文件
byte[] buffer = new byte[1024];
//記錄讀取內(nèi)容
int n = input.read(buffer);
//寫入文件
output.write(buffer, 0, n);
n = input.read(buffer);
}
output.flush();
input.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
output.close();
System.out.println("success");
return 0;
} catch (IOException e) {
System.out.println("fail");
e.printStackTrace();
}
}
return 1;
}
/**
* 在SD卡的指定目錄上創(chuàng)建文件
*
* @param fileName
*/
public File createFile(String fileName) {
File file = new File(fileName);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
return file;
}
以上所述是小編給大家介紹的Android 將文件下載到指定目錄的實(shí)現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android文件下載進(jìn)度條的實(shí)現(xiàn)代碼
- Android zip文件下載和解壓實(shí)例
- Android實(shí)現(xiàn)文件下載進(jìn)度顯示功能
- Android 文件下載三種基本方式
- Android實(shí)現(xiàn)簡單的文件下載與上傳
- Android Retrofit文件下載進(jìn)度顯示問題的解決方法
- Android文件下載功能實(shí)現(xiàn)代碼
- Android基于HttpUrlConnection類的文件下載實(shí)例代碼
- android實(shí)現(xiàn)文件下載功能
- Android簡單實(shí)現(xiàn)文件下載
相關(guān)文章
Android提高之SQLite分頁讀取實(shí)現(xiàn)方法
這篇文章主要介紹了Android的SQLite分頁讀取實(shí)現(xiàn)方法,在Android項(xiàng)目開發(fā)中非常實(shí)用,需要的朋友可以參考下2014-08-08
Android自定義WheelView地區(qū)選擇三級聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android自定義WheelView地區(qū)選擇三級聯(lián)動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
android仿微信表情雨下落效果的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于android仿微信表情雨下落效果的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
Java中的final關(guān)鍵字詳解及實(shí)例
這篇文章主要介紹了Java中的final關(guān)鍵字詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
Android 使用Vitamio打造自己的萬能播放器(4)——本地播放(快捷搜索、數(shù)據(jù)存儲(chǔ))
本文主要介紹android Vitamio 本地播放功能(快捷搜索,數(shù)據(jù)存儲(chǔ)),這里提供實(shí)例代碼和效果圖,有需要的小伙伴可以參考下2016-07-07
Android Socket 線程連接openwrt與arduino單片機(jī)串口雙向通信的實(shí)例解析
這篇文章主要介紹了Android Socket 線程連接openwrt與arduino單片機(jī)串口雙向通信的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
Android在kts中使用navigation及Args的方法
在Android項(xiàng)目中使用Kotlin腳本(kts)替代Groovy配置navigation和Args,需添加相關(guān)依賴,并在build.gradle中進(jìn)行配置,文章詳細(xì)介紹了如何在kts中使用navigation進(jìn)行頁面導(dǎo)航和參數(shù)傳遞,介紹了使用Bundle和Safe Args兩種方式安全傳遞參數(shù)2024-10-10
Android使用SQLite數(shù)據(jù)庫的示例
本篇文章主要介紹了Android使用SQLite數(shù)據(jù)庫的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01

