2016-03-08 156 views
1

最近我閱讀了有關在Android中創建文件夾,並嘗試在我的應用程序中實現它。函數應該使dir不存在,從web服務器下載文件並解壓縮。但是應用程序無法在外部設備上創建文件夾。功能代碼Android makedirs文件夾創建錯誤

public static void download(final int section){ 
    File folder = new File(Environment.getExternalStorageDirectory(), "/try2think"); //section"+section); 
    if (!folder.exists()) { 
     if(!folder.mkdirs()) { 
      Log.i("Problem", "Problem creating folder"); 
     } 
    } 
    File folder1 = new File(Environment.getExternalStorageDirectory()+"/try2think", "section"+section); 
    if (!folder1.exists()) { 
     if(!folder1.mkdirs()) { 
      Log.i("Problem", "Problem creating folder"); 
     } 
    } 
    String downloadURL = "http://jangofetthd.me/rebus/section" + section+".zip"; 
    final String directory = Environment.getExternalStorageDirectory()+"/try2think/section"+section+"/section"+section+".zip"; 
    Ion.with(Sections.context).load(downloadURL).write(new File(directory)) 
      .setCallback(new FutureCallback<File>() { 
       @Override 
       public void onCompleted(Exception e, File file) { 
        try { 
         UnzipFile(new File(directory), new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section)); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
       } 
      }); 
} 

出了什麼問題?我試過與File folder = new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section);不一致但它也沒有工作。我究竟做錯了什麼?

回答

1

您是否嘗試添加寫入外部存儲的權限?

寫進清單如下代碼:

<manifest xlmns:android...> 
... 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<application ... 
</manifest> 

你也可以看看有關保存和讀取來自Android的儲存信息這個有趣的指南:Saving Files | Android Developers

+0

是 .... <使用許可權android:name =「android.permission.WRITE_EXTERNAL_STORAGE」/> .... –

+0

剛剛更新了一個有趣的鏈接,您可以觀看有關在Android中保存/讀取外部存儲的帖子。我希望這可以幫助你 – Alejandro93sa