2016-12-05 46 views
0

我嘗試創建一個目錄,並使用下面的代碼:無法創建mkdirs()目錄 - 安卓

boolean success = true; 
String rootDirectory = Environment.getExternalStorageDirectory().toString(); 
folder = new File(rootDirectory, "Directory"); 
if(!(folder.exists())) { 
    success = folder.mkdirs(); 
} else { 

} 

if(success) { 
    Toast.makeText(getActivity().getApplicationContext(), "DIR created", Toast.LENGTH_SHORT).show();  
} else { 
    Toast.makeText(getActivity().getApplicationContext(), "DIR not created successfully", Toast.LENGTH_SHORT).show(); 
} 

我還關注文件夾,如果它被創造的,沒有。

權限授予:

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

我也試圖在運行時,要求准予,好像應用程序已經得到許可,因此它不能成爲問題。

幾個月前,我創建了另一個應用程序,並使用相同的代碼和相同的Sdk版本,但它仍然不適用於此。我得到「DIR未成功創建」,我不知道爲什麼,請幫我弄清楚爲什麼我無法創建目錄。下面

File directory = new File(Environment.getExternalStorageDirectory() + java.io.File.separator +"Directory"); 
if (!directory.exists()) 
     Toast.makeText(getActivity(), 
      (directory.mkdirs() ? "Directory has been created" : "Directory not created"), 
     Toast.LENGTH_SHORT).show(); 
else 
    Toast.makeText(getActivity(), "Directory exists", Toast.LENGTH_SHORT).show(); 

+0

評論不用於擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/129852/discussion-on-question-by-progfroz-cant-create-directory-with-mkdirs-androi)。 –

回答

1

使用代碼對於Android的API 23(棉花糖)和更大的,我們必須允許dangerous permissions否則,我們預計我們的代碼將無法正常工作。

+0

我用你的確切代碼,但它仍然無法正常工作..我得到「Dir未創建」的祝酒 – ProgFroz

+0

在gradle文件中是否有什麼可以中斷創建目錄? – ProgFroz

+0

你有'WRITE_EXTERNAL_STORAGE'權限嗎?我不是在清單文件中談論權限聲明。我是說你有權寫嗎? –

0
String path = Environment.getExternalStorageDirectory().toString() + "/" +"MyDir";FIle dir = new File(path);if(!dir.exists()){dir.mkdirs()} 
+0

此代碼似乎無法正常工作,無法解析「存在」。 – ProgFroz

+0

我很抱歉它的file.exists() – xbadal

相關問題