我想下載一個文件,然後將其保存到設備的SD卡中。我爲此使用了getExternalFilesDir(),這也是Android開發人員小組推薦的,但是當我運行我的應用程序時,在兩個位置(SD卡和內存)中都有一個爲應用程序包創建的目錄,但是文件保存在內部存儲器中。嘗試使用getExternalFilesDir()將Android下載的文件保存在SD卡中,Android
0
A
回答
0
使用此線程下載:
private class DownloadFile extends AsyncTask<String, Integer, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... Url) {
int count;
try {
URL url = new URL(Url[0]);
URLConnection connection = url.openConnection();
connection.connect();
int fileLength = connection.getContentLength();
String folder_main = "TEST1";
File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
f.mkdirs();
}
int lenghtOfFile = connection .getContentLength();
// input stream to read file - with 8k buffer
InputStream input = new BufferedInputStream(url.openStream(),
8192);
// Save the downloaded file
OutputStream output = new FileOutputStream(f + "/"
+ movie_name_b);
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
// After this onProgressUpdate will be called
publishProgress((int) (total * 100/fileLength));
// writing data to file
output.write(data, 0, count);
}
// flushing output
output.flush();
// closing streams
output.close();
input.close();
}
catch (Exception e) {
// Error Log
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String file_url) {
}
}
執行:
new DownloadFile().execute(URL_TO_DOWNLOAD);
它會在你的SD卡創建的文件夾名稱Test1的。並且不要忘記在清單中添加權限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
0
您可以使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)將文件保存在SD卡的下載目錄中。
相關問題
- 1. Android:將文件保存到SD卡?
- 2. Android:將文件保存到SD卡
- 3. Android:將文件保存到SD卡
- 4. 如何使用Android下載管理器將文件保存在SD卡上?
- 5. Android調用php腳本下載文件並將其保存在SD卡
- 6. Android將圖像保存在SD卡中
- 7. Android的 - 下載並保存APK文件在手機存儲(不在SD卡)
- 8. Android - 將下載的圖像從URL保存到SD卡上
- 9. Android:下載很多文件並將它們保存在SD卡上
- 10. 嘗試將文件保存到SD卡時拒絕准入
- 11. 將變量保存在SD卡上的文件(ANDROID)
- 12. 將文件保存在SD卡上的音樂目錄Android
- 13. Android:下載並保存SD圖像。錯誤,當我嘗試在寫入完成之前嘗試打開文件
- 14. 如何在Android中將所有文件下載並保存在SD卡中的所有文件?
- 15. Android下載Zip到SD卡?
- 16. 在Android上保存文件,但不保存到SD卡
- 17. 的Android下載數據保存到SD
- 18. Android將文件保存到SD卡,而不是內部存儲
- 19. 沒有嘗試寫入SD卡的Android
- 20. 將Android數據庫保存到SD卡?
- 21. 將位圖保存到SD卡Android
- 22. 在android中保存文件到SD卡的問題
- 23. 將RAW文件到SD卡中的Android
- 24. 嘗試在Android SD卡上創建只讀文件失敗
- 25. 下載PDF文件並將其保存到SD卡
- 26. 下載文件並將其保存到SD卡
- 27. 將文件保存在SD卡上
- 28. 在Sd卡上保存文件爲Mp3 {Android應用程序}
- 29. Android:將文件保存到SD卡時出錯
- 30. Android暫停並恢復將文件下載到SD卡
正如另一個答案中所述。我也試過這個,但它似乎沒有工作。 'Environment.getExternalStorageDirectory()'和'getExternalFilesDir()'兩者都應該有效,但它們將文件保存在內部存儲器中。您正在檢查哪個API版本的 – Fragger
? –