Android 文件存储及常见问题解决

 更新时间:2017年02月04日 11:14:29   投稿:lqh  
这篇文章主要介绍了Android 文件存储及常见问题解决的相关资料,需要的朋友可以参考下

Android文件存储

看下网上随处可以搜到的文件存储套路

if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
        cacheDir=mContext.getExternalCacheDir().getPath();
      }else {
        cacheDir=mContext.getCacheDir().getPath();
      }
 fileOutputStream=new FileOutputStream(cacheDir+"/"+url);

这段代码肯定没有错误,但欺骗了多少年少的开发者。

当你这样存储文件的时候就会报,该文件不存在,你开始想这个路径是我获取的,又不是我写的,怎么会不存在,但获取仅仅是逻辑上的存在,而不代表真实存在,所以我们必须要在这个文件不存在的时候,去创建它的文件夹,并创建这个文件 ,所以标准写法应该是

private void initFile() {
    if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
      cacheDir=mContext.getExternalCacheDir().getPath();
      Log.d(TAG,"have SD");
    }else {
      cacheDir=mContext.getCacheDir().getPath();
      Log.d(TAG," not have SD");
    }
    Log.d(TAG,cacheDir);
    File file=new File(cacheDir);
    if(!file.exists()) {
      Log.d(TAG, "file no exists");
      file.mkdirs();
    }
  }

这样的话,如果那个文件夹不存在的话,就去创建它,并且是递归创建,这个问题就完美解决了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android 解决WebView多进程崩溃的方法

    Android 解决WebView多进程崩溃的方法

    这篇文章主要介绍了Android 解决WebView多进程崩溃的方法,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-03-03
  • Android实现闪屏页效果

    Android实现闪屏页效果

    这篇文章主要为大家详细介绍了Android实现闪屏页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • kotlin中使用ViewBinding绑定控件的方法

    kotlin中使用ViewBinding绑定控件的方法

    View Binding是Android Studio 3.6推出的新特性,主要用于减少findViewById的冗余代码,但内部实现还是通过使用findViewById,这篇文章主要介绍了kotlin中使用ViewBinding绑定控件,需要的朋友可以参考下
    2024-03-03
  • 获取Android界面性能数据的快捷方法

    获取Android界面性能数据的快捷方法

    这篇文章主要介绍了获取Android界面性能数据的快捷方法,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-04-04
  • Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)

    Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)

    这篇文章主要介绍了Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Android使用addView动态添加组件的方法

    Android使用addView动态添加组件的方法

    这篇文章主要为大家详细介绍了Android使用addView动态添加组件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android内置SQLite的使用详细介绍

    Android内置SQLite的使用详细介绍

    这篇文章主要介绍了Android内置SQLite的使用详细介绍,文章通过文章展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 一文带你深入理解Android Window系统

    一文带你深入理解Android Window系统

    Android中的窗口系统是应用程序用户界面的核心组件之一,它负责管理可视化区域、处理用户输入事件以及与系统UI交互,本文将深入介绍与Android窗口系统相关的重要概念,需要的朋友可以参考下
    2023-10-10
  • Android 中图片和按钮按下状态变化实例代码解析

    Android 中图片和按钮按下状态变化实例代码解析

    这篇文章通过实例代码给大家总结了android 中图片和按钮按下状态变化问题,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-06-06
  • 一些有效的Android启动优化策略分享

    一些有效的Android启动优化策略分享

    在当今激烈竞争的移动应用市场,应用的启动速度直接影响着用户的第一印象和满意度,Android的启动优化是开发者必须关注的关键领域,本文将详细介绍一些强大有效的Android启动优化策略,帮助你优化应用的启动过程,为用户创造更出色的体验,需要的朋友可以参考下
    2023-08-08

最新评论