Android中的文件读写

来源:互联网 发布:apache一键安装包 编辑:程序博客网 时间:2024/05/19 12:15
~案例: 记住 用户名密码 应用

    1.将数据保存在手机的内部存储空间中
        {利用context.getFilesDir和context.getCacheDir存储数据到手机里面}
        我们可以直接以流的形式去读写文件,但是这样不好,因为将应用路径写死在了程序中,
        一旦修改应用包名,所有路径都需要重新修改.
        context.getFilesDir()//返回[当前应用]/files文件夹的File对象 
                             //【存入files文件夹的内容,将会永久存在除非手动删除】
        context.getCacheDir()//返回[当前应用]/cache文件夹的File对象 
                            //【缓存文件夹 这个文件夹中的内容除了可以手动删除,
                            //android系统在某些情况下(硬盘空间不足) 会自动去清理,
                            //虽然android会帮我们清理cache但是android推荐,
                            //应该在缓存文件使用完尽快手动清理掉】
            【说明:context当前应用的环境】
    2.外部存储空间(SD卡)
        默认情况下写sd卡需要权限,读sd卡不需要权限,但是在高版本的android中可以配置开启sd卡读权限控制
        (模拟器不支持,也不是所有手机都支持),此时读sd卡也需要权限,所以我们通常在使用sd卡时读和写的权限都配置即可.
        有的手机厂商的sd卡目录并不叫/mnt/sdcard,如果程序中写死,在这种手机上就找不到sd卡目录!
        File file = Enviroment.getExternalStorageDirectory();//--sd卡根目录的File对象
        
        //判断SD卡是否存在    
        Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
        
    3.快捷方法

        //--直接获取输入流 指向 [应用目录]/files/...指定名称的文件
        FileInputStream in = context.openFileInput(name)
        
        //--直接获取输出流 指向 [应用目录]/files/...指定名称的文件
        FileOutputStream out = context.openFileOutput(name,mode)
        
        ~~mode的可选值:
            MODE_PRIVATE 只有当前应用可写,如果之前文件已经存在,则在写的时候内容发生覆盖
            MODE_APPEND 只有当前应用可写,如果之前文件已经存在,则追加内容
            MODE_WORLD_READABLE 写出的文件全局可读(路人可以看)
            MODE_WORLD_WRITEABLE 写出的文件全局可写(路人可以写)
            ~MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE 写出的文件即可读有可写
    

        ~~android中的文件的访问权限:    
            在linux中使用十位二进制表示文件的访问权限

            第一位:表示文件的类型
                   d:文件夹
                   -:普通文件
            前三位:表示【当前用户】对文件的访问权限 是否可读 是否可写 是否可执行
            中间三位:表示【当前用户所在组中其他用户】对文件的访问权限 是否可读 是否可写 是否可执行
            最后三位:表示【当前组以外的其他用户】对文件的访问权限 (~路人的访问权限) 
                    是否可读 是否可写 是否可执行
            
            android中每一个应用程序都独占一个用户,并且通常情况下这个用户独占一个用户组
0 0
原创粉丝点击