Data Storage(数据存储)之内部储存(Internal Storage)
Data Storage(數據存儲)之內部儲存(Internal Storage)
讀取手機內部儲存,Activity 中調用 openFileOutput(file_name, mode)方法返回File 對象;
file_name: 文件名
mode: 操作文件的類型
Context.MODE_PRIVATE:代表文件是私有的,如果重新調用,則原來的數據會被覆蓋
Context.MODE_APPEND:先判斷文件是否存在,如果存在,則在在原來的數據后面追加內容 />
Context.MODE_WORLD_READABLE:其他應用程序由權限讀取
Context.MODE_WORLD_WRITEABLE:其他應用程序由權限寫入
如果當其他程序同時具有讀寫功能,則應該這樣寫:
openFileOutput(FILE_NAME, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
下面是個小Demo:
public void writeFile(View view) {try {FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);fos.write(string_01.getBytes());fos.close();Toast.makeText(InternalStorageActivity.this, "Saved...", Toast.LENGTH_LONG).show();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }讀取或者寫入文件,默認目錄是:/data/data/<package-name>/files/ 文件夾下
我們也可以使用Activity 提供的getCacheDir() 和getFilesDir() 方法:獲取/data/data/<package-name>/ 下的 /cache 和 /files
讀取文件則調用openFileInput(FILE_NAME) 方法
public void readFile(View view) {try {FileInputStream fis = openFileInput(FILE_NAME);BufferedReader br = new BufferedReader(new InputStreamReader(fis));String line = null;while ((line = br.readLine()) != null) {String str = new String(line);Log.i(TAG, str);}Toast.makeText(InternalStorageActivity.this, "Read...", Toast.LENGTH_LONG).show();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }操作外部儲存(內存卡)
由于Android 系統內存大小的局限,比如我們儲存文件就要把它放在外部存儲中,在操作之前,我們要在AndroidManifest.xml 中設置讀寫操作:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 、、、、 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>操作外部儲存(內存卡)
由于Android 系統內存大小的局限,比如我們儲存文件就要把它放在外部存儲中,在操作之前,我們要在AndroidManifest.xml 中設置
讀寫權限:
創建和刪除權限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>Android 中的Environment 類對外部存儲卡的操作,
getExternalStorageState() 方法,判斷外部儲存卡的狀態,如果為MEDIA_MOUNTED 則表示可操作
getExternalStorageDirectory() 方法,獲取外部儲存的目錄,可以對其目錄進行操作
轉載于:https://www.cnblogs.com/Tikitoo/p/android-data-internal-storage.html
總結
以上是生活随笔為你收集整理的Data Storage(数据存储)之内部储存(Internal Storage)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2013安装oepncv2.4.10
- 下一篇: winform TreeView 节点选