欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 文件存儲及常見問題解決

 更新時(shí)間:2017年02月04日 11:14:29   投稿:lqh  
這篇文章主要介紹了Android 文件存儲及常見問題解決的相關(guān)資料,需要的朋友可以參考下

Android文件存儲

看下網(wǎng)上隨處可以搜到的文件存儲套路

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

這段代碼肯定沒有錯(cuò)誤,但欺騙了多少年少的開發(fā)者。

當(dāng)你這樣存儲文件的時(shí)候就會報(bào),該文件不存在,你開始想這個(gè)路徑是我獲取的,又不是我寫的,怎么會不存在,但獲取僅僅是邏輯上的存在,而不代表真實(shí)存在,所以我們必須要在這個(gè)文件不存在的時(shí)候,去創(chuàng)建它的文件夾,并創(chuàng)建這個(gè)文件 ,所以標(biāo)準(zhǔn)寫法應(yīng)該是

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();
    }
  }

這樣的話,如果那個(gè)文件夾不存在的話,就去創(chuàng)建它,并且是遞歸創(chuàng)建,這個(gè)問題就完美解決了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論