android文件操作

 

1.文件保存:

    /**

     * 文件保存

     * <功能详细描述>

     * @param filename 文件名称

     * @param content 文件内容

     * @throws Exception

     * @see [类、类#方法、类#成员]

     */

    public void save(String filename,String content) throws Exception

    {

        FileOutputStream fileOutputStream=context.openFileOutput(filename, Context.MODE_PRIVATE);//创建文件,这个操作模式是私有的,其他应用不可操作此文件,名字相同就会覆盖

        fileOutputStream.write(content.getBytes());

        fileOutputStream.close();

  }

文件保存模式:

 Context.MODE_PRIVATE:这个操作模式是私有的,其他应用不可操作此文件,名字相同就会覆盖。默认为这个。

 Context.MODE_APPEND:检查时否存在文件,存在就追加模式,不存在就创建,也为私有模式,其他应用不可用。

 Context.MODE_WORLD_READABLE:该模式允许其他应用从该文件中读取内容。

 Context.MODE_WORLD_WRITEABLE:该模式允许其他应用相该文件写入内容。

---

 Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE:其他应用可读可写。

 Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE+ Context.MODE_APPEND:其他应用可读可写,可写的时候是追加模式

 ....

 

 

2.文件读取:

    /**

     *  文件读取

     * <功能详细描述>

     * @param filename

     * @return

     * @throws Exception

     * @see [类、类#方法、类#成员]

     */

    public String readFile(String filename) throws Exception 

    {

        FileInputStream fileInputStream =context.openFileInput(filename);//找到文件并流化文件

        byte [] buffer =new byte[1024];//读取文件长度

        int len=0;

        ByteArrayOutputStream stream=new ByteArrayOutputStream();//输入内存中对象

        while((len=fileInputStream.read(buffer))!=-1)//读取文件,如果读完了就为-1

        {

            stream.write(buffer, 0, len);//读取每一段写入内存中

        }

        byte [] data = stream.toByteArray();//得到文件的二进制数据

        return new String(data);//转为String类型

    }

 

快速获得应用跟目录:File file =  this.getFilesDir();

快速获得应用的cache目录:this.getCarcheDir();//存放缓存的目录

 

 

3.SdCard文件读写访问

  <!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

  //判断SDcard是否存在于手机上并且可进行读写访问

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

 

    /**
     * 以私有文件保存文件到SdCard卡上
     * <功能详细描述>
     * @param filename
     * @param content
     * @throws Exception
     * @see [类、类#方法、类#成员]
     */
    public void writeSdCard(String filename , String content) throws Exception
    {
        File file =new File(Environment.getExternalStorageDirectory(),filename);
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(content.getBytes());
        fileOutputStream.close();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值