android 数据存储2 文件存储

1 Context.onpenFileOutput(文件名,操作模式)

文件名 默认 /data/data/<packagename>/files/

操作模式 MODE_PRIVATE    MODE_APPEND

2 Context.getDir(文件名,操作模式)  在应用程序的数据文件下获取或者创建   文件名  对应的子目录

3 File.getFilesDir() 获取该应用程序的数据文件夹的绝对路径

String[] fileList();  返回该应用数据文件夹的全部文件

二  读写sdcard上的文件

Environment.getExternalStoreageState() 方法判断手机上面是否插了sd卡,且应用程序具有读写sd卡的权限,如下代码返回true

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

手机读写sdk的权限

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
    tools:ignore="ProtectedPermissions"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    

在/data/data/<packagename>/files/下面创建了一个叫做test的文件,并写入数据 记得关闭流

private void setFileOutPut(String text){
        FileOutputStream outputStream =null;
        BufferedWriter bufferedWriter =null;
        try {
//指定文件的操作模式
            outputStream = openFileOutput("test",Context.MODE_PRIVATE);//Context.MODE_PRIVATE 回覆盖以前的数据 context.append 会在以前的数据上面进行添加
            bufferedWriter =new BufferedWriter(new OutputStreamWriter(outputStream));
            bufferedWriter.write(text);
            bufferedWriter.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(bufferedWriter!=null){
                try {
                    bufferedWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

读取写入的文件

猜你喜欢

转载自blog.csdn.net/weixin_41069726/article/details/89790865