標籤:span data seo round blog ref tle env 外部
目錄結構:
contents structure [+]
- 內部路徑
- 外部路徑
Android中的路徑主要分為內部路徑和外部路徑。
一.內部路徑
常見的內部儲存路徑有:
File f1=Environment.getDataDirectory(); // /dataFile f2=Environment.getDownloadCacheDirectory(); // /cacheFile f3=Environment.getRootDirectory(); // /systemFile f4= context.getCacheDir(); // /data/data/com.example.fileexiststest/cacheFile f5= context.getDatabasePath("abc.db"); // /data/data/com.example.fileexiststest/databases/abc.dbFile f6= context.getFilesDir(); // /data/data/com.example.fileexiststest/filesFile f7= context.getFileStreamPath("test2.txt"); // /data/data/com.example.fileexiststest/files/test2.txt
需要注意,內部儲存的檔案夾和檔案只有在手機Root之後,才會看見,而且內部路徑中的檔案一般是唯讀。
通過上面的觀察可以看出,內部儲存的公用緩衝路徑在/cache檔案下,私人緩衝路徑在/data/data/包名/下,每個私人緩衝路徑下又有三個子目錄,分別為cache,databases,files。cache路徑是做緩衝用的,databases路徑是儲存資料庫檔案的,平常使用的sqllite資料庫就存放在這個目錄中,files是儲存其他檔案的。
二.外部路徑
常用的外部路徑有:
File f1=Environment.getExternalStorageDirectory(); // /storage/emulated/0File f2=Environment.getExternalStoragePublicDirectory("abc"); // /storage/emulated/0/abcFile f3= this.getExternalCacheDir(); // /storage/emulated/0/Android/data/com.example.fileexiststest/cacheFile f4= this.getExternalFilesDir("test"); // /storage/emulated/0/Android/data/com.example.fileexiststest/files/testFile f5= this.getObbDir(); // /storage/emulated/0/Android/obb/com.example.fileexiststest
在手機的記憶體中,可以找到/storage/emulated/0這個目錄,但是裡面並沒有資料,但是查看這個目錄的大小卻發現有資料,這是因為資料被隱藏了的。
/storage/emulated/0的目錄就是外部儲存的目錄。
在上面已經瞭解到,記憶體儲存的檔案是唯讀,如果想要寫入資料,那麼就只好存到外部路徑中了。
外部路徑和記憶體路徑的結構都差不多。還是分為共有路徑和私人路徑,共有路徑下可以隨意建檔案和目錄進行儲存資料。私人目錄的格式為 /android/data/包名/。公用路徑的資料可以被所有程式訪問,私人路徑下的資料就只能被當前程式訪問。
【Android】解析Android的路徑