安卓读写文件权限测试

我们在做各种程序,App稍微复杂点,都难免要进行读写文件。windows还好,虽然也有各种权限和安全机制,但就读写文件来说,还好,管理员权限的话,几乎可以读写任何文件了。。。废话少说,还是来说正题。

首先,我在做一款app的时候,就需要进行读写文件,在没有进行系统测试整理之前,总是一头雾水。 主要有两点:

1 各种getXXX函数返回的路径到底是啥?

2 各种存储位置都需要怎么样才能有读写权限?

关于问题1,已经有大神总结的很好了

https://blog.csdn.net/u010937230/article/details/73303034/

不过对上述博文提出内部存储很珍贵,尽量使用外部存储,我现在持反对意见,本人是windows开发,由于工作需要也得做安卓开发,所以对系统级的东西了解不多,但在我看来内部存储和外部存储,都是处于同一个分区的,只是路径不一样。 根据是我计算内部存储和外部存储的总空间和剩余空间,一模一样。(小米8)

当然可能早期版本的安卓可能确实不一样吧,过老的手机,至少我是不考虑的。

 

现在通过评测 来说明问题2,我仅以评测结果来说明问题,如果不小心有Android linux大神路过,请批评指正。

既然是评测就尽量全面点,但实际上很多路径,普通App是不会涉及到的

 

 

 

 

我们先来定义两个简单的函数,用来验证读写是否成功:

    private boolean readFile(String fileDir, String fileName)
    {
        String strFullPath = fileDir + "/" + fileName;
        StringBuffer strBuffer = new StringBuffer();
        byte[] buffer = new byte[1024];
        try {
            FileInputStream fi = new FileInputStream(strFullPath);
            while (true)
            {
                int len = fi.read(buffer);
                if(len>0) {
                    strBuffer.append(new String(buffer, 0, len));
                }
                else
                {
                    break;
                }
            }
        }
        catch (IOException e)
        {
            Log.i(logTag, e.toString());
            return false;
        }
        Log.i(logTag, "读出文件成
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值