2017-02-09 129 views
0

我想下/存儲創建目錄目錄/模擬/ 0 /圖片使用此代碼:創建/ SD卡/圖片

 File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() + "/newDirectory"); 

     boolean success = false; 
     if(!outputDir.exists()){ 
      success = outputDir.mkdirs(); 
     } 
     if(success == true){ 
      Log.d(TAG, "file created"); 
     } 

我不明白,因爲我不明白什麼是錯的在這個階段的任何錯誤或例外,但目錄沒有創建。任何人都可以幫忙嗎?

回答

2

試試這個:

String folder_root = "Pictures"; 

File f = new File(Environment.getExternalStorageDirectory(), folder_root); 
if (!f.exists()) { 
    f.mkdirs(); 
} 

File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_root, "yourDirectoryName"); 
if (!f1.exists()) { 
    f1.mkdirs(); 
} 

在你的清單中添加權限

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

對於API> 23,你還需要運行permisssion

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0); 
+0

運行時權限解決了這個問題。非常感謝。 – adams172

0

如何嘗試登錄file.getAbsolutePath();到看看路徑是否正確?

其次,您的代碼不完整,因爲您的第一行是錯誤的。

試試這個:

File directory = new File(Environment.getExternalStorageDirectory(Environment.DIRECTORY_PICTURES)+File.separator+"pictures"); 
directory.mkdirs(); 

確保您的權限設置。

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