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連接對(duì)象conn
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//定義請(qǐng)求方式為GET,其中GET的大小寫不要搞錯(cuò)了。
conn.setRequestMethod("GET");
//定義請(qǐng)求時(shí)間,在ANDROID中最好是不好超過10秒。否則將被系統(tǒng)回收。
conn.setConnectTimeout(6 * 1000);
//請(qǐng)求成功之后,服務(wù)器會(huì)返回一個(gè)響應(yīng)碼。如果是GET方式請(qǐng)求,服務(wù)器返回的響應(yīng)碼是200,post請(qǐng)求服務(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)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android文件下載進(jìn)度條的實(shí)現(xiàn)代碼
- Android zip文件下載和解壓實(shí)例
- Android實(shí)現(xiàn)文件下載進(jìn)度顯示功能
- Android 文件下載三種基本方式
- Android實(shí)現(xiàn)簡(jiǎn)單的文件下載與上傳
- Android Retrofit文件下載進(jìn)度顯示問題的解決方法
- Android文件下載功能實(shí)現(xiàn)代碼
- Android基于HttpUrlConnection類的文件下載實(shí)例代碼
- android實(shí)現(xiàn)文件下載功能
- Android簡(jiǎn)單實(shí)現(xiàn)文件下載
相關(guān)文章
淺談Android性能優(yōu)化之內(nèi)存優(yōu)化
Android的內(nèi)存優(yōu)化是性能優(yōu)化中很重要的一部分,本文將詳細(xì)介紹Android性能優(yōu)化之內(nèi)存優(yōu)化。2021-06-06
Android 優(yōu)雅的實(shí)現(xiàn)通用格式化編輯
這篇文章主要介紹了Android 優(yōu)雅的實(shí)現(xiàn)通用格式化編輯,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03
Android開發(fā)中使用WebView控件瀏覽網(wǎng)頁的方法詳解
這篇文章主要介紹了Android開發(fā)中使用WebView控件瀏覽網(wǎng)頁的方法,結(jié)合實(shí)例形式較為詳細(xì)的總結(jié)分析了Android WebView控件的功能、布局、設(shè)置、常用方法及相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
解析Android 8.1平臺(tái)SystemUI 導(dǎo)航欄加載流程
這篇文章主要介紹了Android 8.1平臺(tái)SystemUI 導(dǎo)航欄加載流程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
Android控件FlowLikeView實(shí)現(xiàn)點(diǎn)贊動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了一個(gè)點(diǎn)贊動(dòng)畫的優(yōu)雅控件FlowLikeView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
GuideView的封裝實(shí)現(xiàn)app功能引導(dǎo)頁
這篇文章主要為大家詳細(xì)介紹了GuideView的封裝實(shí)現(xiàn)app功能引導(dǎo)頁,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Android中實(shí)現(xiàn)根據(jù)資源名獲取資源ID
這篇文章主要介紹了Android中實(shí)現(xiàn)根據(jù)資源名獲取資源ID,本文講解了使用文件名獲取資源ID的方法,需要的朋友可以參考下2015-01-01
Android實(shí)現(xiàn)橫向無限循環(huán)滾動(dòng)的單行彈幕效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)橫向無限循環(huán)滾動(dòng)的單行彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

