android外部存儲(ExternalStorage)


三個混淆的概念

1.內存   memory<==>設備的容量        內存指設備的容量,內部存儲外部存儲指概念

2.內部存儲  InternalSorage <==>  文件存儲在內部存儲區,只能當前應用訪問到

3.外部存儲  ExternalStorage <==> 存儲於設備中的特殊位置,位置因為手機不一樣而不一樣,可能在storage/sdcard或者mnt/xxxx/0下

外部存儲的位置可使用Environment.getExternalStorageDirectory().getAbsolutePath()獲得

 

外部目錄

1.公有目錄(九大公有目錄):(DCIM、DOWNLOAD等),直接存儲在外部存儲的根目錄下,需要申請權限

2.私有目錄:(Android/data/應用包名),只能被當前應用訪問到

 

說明:

1.在實際開發中不建議在內部存儲中存儲數據,因為容量很有限

2.在實際開發中經常講把數據存儲到私有目錄,便於系統維護,軟件卸載了數據就刪除了

 

代碼邏輯

寫操作

android6.0以下:

①:利用外部getExternalStorageDirectory獲取根目錄,直接在后面加上想創建的文件

  String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/text.txt";

②:創建文件,文件若不存在則調用file.createNewFile()

 

   File file = new File(path);

③:向文件中寫內容,自然要創建文件輸出流的操作,調用輸出流的write方法

  FileOutputStream out_file = new FileOutputStream(path,true);

  String will_write = editInput.getText().toString(); //獲取edittext的內容

  out_file.write(will_write.getBytes());

安卓6.0以上需要首先動態申請權限,在下一篇文章中講述如何使用動態申請權限

讀操作

①:讀文件需要文件輸入流

  FileInputStream fis = new FileInputStream(path);

  //讀取文件存儲在byte數組中

  byte[] b = new byte[1024];

  //讀取文件內容,並獲取讀取的長度

  int len = fis.read(b);

  //將byte轉換城字符串供輸出

  String str = new String(b,0,len);

 

 

  

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM