Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 文件存儲及常見問題解決

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

編輯:關於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();
    }
  }

這樣的話,如果那個文件夾不存在的話,就去創建它,並且是遞歸創建,這個問題就完美解決了。

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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved