[英]How to store only on external storage storage/sdcard0/?
我想將數據存儲在外部存儲上,而Environment.getExternalStorageDirectory()返回/ storage / emulated / 0 /路徑,當我將數據存儲在該目錄上時,它將數據存儲在storage / sdcard0 / ...和/ storage / emulated / 0 /
我需要在外部存儲設備上存儲大量圖像。如何實現?如何在外部存儲設備上獲取路徑?
如何獲得外部存儲的路徑?
/storage/emulated/0/
和storage/sdcard0/
基本相同,這只是一個別名。 在Nexus 5等設備上以及沒有物理SD卡的任何其他設備上,“外部存儲設備”是指模擬SD卡的設備內置存儲設備。 Environment.getExternalStorageDirectory()
將指向該位置,因此您可以使用此方法。
從文檔 :
注意:請勿在此處與“外部”一詞混淆。 最好將此目錄視為媒體/共享存儲。 它是一個文件系統,可以保存相對大量的數據,並且可以在所有應用程序之間共享(不強制執行權限)。 傳統上,這是SD卡,但也可以將其實現為設備中的內置存儲,該設備不同於受保護的內部存儲,並且可以作為文件系統安裝在計算機上。
首先找到外部存儲的路徑
String path = Environment.getExternalStorageDirectory().toString() + directoryName;
然后您可以將所需的任何內容寫入文件,如下所示:
File file = new File(path, fileName);
BufferedWriter br;
try {
br = new BufferedWriter(new FileWriter(file));
br.write(content);
br.close();
} catch (IOException e) {
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.