中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-29 03:33:41 來源:腳本之家 閱讀:137 作者:lqh 欄目:移動開發

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长寿区| 长岛县| 保德县| 东海县| 通化县| 东辽县| 乐至县| 遂溪县| 米脂县| 富阳市| 惠安县| 衡阳市| 扶沟县| 道孚县| 临高县| 仲巴县| 山阴县| 获嘉县| 新乡市| 赣榆县| 阿瓦提县| 西乡县| 石狮市| 鄢陵县| 福鼎市| 大渡口区| 巫溪县| 焦作市| 英超| 新野县| 根河市| 新田县| 鸡泽县| 封丘县| 象山县| 临沧市| 洛浦县| 江都市| 永顺县| 海丰县| 汉中市|