簡體   English   中英

如何僅存儲在外部存儲存儲器/ sdcard0 /上?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM