我想在SD卡上創建一個文件夾和其中的幾個子目錄...然後我想將我存儲在/ res/raw中的文件傳輸到該文件夾...我另外,我只想要這個發生一次,程序第一次運行。我意識到這是荒謬的開放式,而且我問了很多...但任何幫助將不勝感激。Android:如何在SD卡上創建一個目錄並將文件從/ res/raw複製到它?
8
A
回答
9
這將.apk文件資產文件夾的「剪貼畫」子文件夾中的所有文件複製到你的應用程序的文件夾在SD卡上的「剪貼畫」子文件夾:使用時
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
String basepath = extStorageDirectory + "/name of your app folder on the SD card";
//...
// in onCreate
File clipartdir = new File(basepath + "/clipart/");
if (!clipartdir.exists()) {
clipartdir.mkdirs();
copyClipart();
}
private void copyClipart() {
AssetManager assetManager = getResources().getAssets();
String[] files = null;
try {
files = assetManager.list("clipart");
} catch (Exception e) {
Log.e("read clipart ERROR", e.toString());
e.printStackTrace();
}
for(int i=0; i<files.length; i++) {
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("clipart/" + files[i]);
out = new FileOutputStream(basepath + "/clipart/" + files[i]);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(Exception e) {
Log.e("copy clipart ERROR", e.toString());
e.printStackTrace();
}
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}
0
我經歷了類似的問題mkdirs(),然而因爲運行命令:
MKDIR一/二
失敗Linux上,則該方法http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#mkdirs() subse也會失敗。我想這意味着無法在Android上使用mkdirs?我(可能是相當哈克)的變通是單獨創建每個必要的目錄:
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
new File(extStorageDirectory + "/one/").mkdirs();
new File(extStorageDirectory + "/one/two/).mkdirs();
+0
[File.mkDirs() ](http://developer.android.com/reference/java/io/File.html#mkdirs%28%29)的作品。我已經在Android 2.1(API級別7) – Mudassir 2011-07-19 12:17:17
相關問題
- 1. Android:將個人目錄從資產複製到SD卡
- 2. 從原材料目錄將文件複製到SD卡
- 3. 如何將圖像複製到SD卡上的現有目錄?
- 4. 未在SD卡上創建Android文件
- 5. Android將創建的位圖保存到SD卡上的目錄
- 6. android - 如何將圖像複製到SD卡中的文件夾
- 7. 將文件從一個目錄複製到另一個目錄
- 8. 將文件從一個目錄複製到另一個目錄
- 9. 將文件從一個目錄複製到另一個目錄
- 10. 將文件從一個目錄複製到另一個目錄
- 11. 將文件從一個目錄複製到另一個目錄
- 12. 創建一個SD卡圖片副本到另一個目錄?
- 13. Android - 如何使用DDMS將文件夾從文件系統複製到SD卡?
- 14. 在SD卡中創建一個文件
- 15. 將文件複製到SD卡
- 16. 如何將文件從SD卡複製到系統
- 17. 將文件保存在SD卡上的音樂目錄Android
- 18. Node.js將文件從多個目錄複製到一個目錄
- 19. 將文件複製到SD卡。 (從一個地方到另一個地方)
- 20. 將文件從SD卡的文件夾複製到SD卡的另一個文件夾
- 21. android創建並從SD卡讀取xml
- 22. Android studio無法在SD卡上創建新目錄?
- 23. 如何將我的文件從一個目錄複製到另一個目錄?
- 24. 如何創建將特定文件從一個目錄複製到另一個目錄的程序?
- 25. Android 4.4 - 在輔助SD卡上創建應用程序目錄
- 26. 如何以編程方式在SD卡上創建新目錄?
- 27. 在Android應用的外部SD卡上的現有目錄中創建文件
- 28. 將文件從android_asset文件夾複製到SD卡
- 29. android: - 如何將圖像從資產複製到SD卡?
- 30. 創建一個文件夾,並寫入它的根目錄Android
哪裏該代碼必須以確保它只會發生一次,在安裝,然後刪除自APK文件? – joon 2013-05-19 15:59:54
@joon:你可以使用[link](http://developer.android.com/reference/android/content/SharedPreferences.html)來保存一個布爾值,以確保它只發生一次。順便說一下,你不能從apk中刪除文件。@查看更多:[link](http://developer.android.com/guide/topics/resources/providing-resources.html) – Justin 2014-03-03 16:05:53