我目前正在與內部存儲。我想創建多個文件夾,如mainFolder/subFolder/fileName。創建嵌套文件夾到內部存儲
我已經準備了很多的教程,我不會找到最好的解決方案..而且我也收到錯誤java.io.FileNotFoundException:打開失敗:EISDIR(是一個目錄)。
我的查詢語句
- 這是什麼錯誤? 任何人都可以請說明這個。
- 如何在內部存儲器中創建文件夾。
我目前正在與內部存儲。我想創建多個文件夾,如mainFolder/subFolder/fileName。創建嵌套文件夾到內部存儲
我已經準備了很多的教程,我不會找到最好的解決方案..而且我也收到錯誤java.io.FileNotFoundException:打開失敗:EISDIR(是一個目錄)。
我的查詢語句
做這樣的:
字符串folder_main = 「NewFolder」;
File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
f.mkdirs();
}
如果你想創建另一個文件夾成:
File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_main, "product1");
if (!f1.exists()) {
f1.mkdirs();
}
我想創建內部只有不是外部存儲。 –
它也可以在內部存儲中工作。檢查它 –
感謝您寶貴的答覆,但不起作用。 –
最後我得到了這方面的一個
要創建嵌套文件夾
//保存內部存儲
File myMainDir = context.getDir("MainFolder", Context.MODE_PRIVATE);
File mySubjectDir = new File(myMainDir, "subFolder");
mySubjectDir.mkdir();
File myModuleDir = new File(mySubjectDir, "semiSubFolder");
myModuleDir.mkdir();
File myFinalDir = new File(mySubjectDir, "fileName.mp4");
// Save External Storage
String DNAME = "MainFolder"+"/"+subFolder+"/"+semiSubFolder;
File rootPath = new File(Environment.getExternalStorageDirectory().toString(), DNAME);
if(!rootPath.exists()) {
rootPath.mkdirs();
}
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
Log.v("Cannot use storage","Cannot use storage");
}
File myFinalDir = new File(rootPath,"fileName.mp4");
您正在使用運行權限?郵政編碼 – fillobotto
打開失敗...您嘗試打開某個文件作爲文件,但它是一個目錄...不言自明,但請顯示代碼 –
「這是什麼錯誤?」 - 您正試圖在目錄而不是文件上執行某些文件操作。既然你拒絕提供[mcve],我們不能更具體。 「如何在內部存儲中創建文件夾」 - 使用標準的Java I/O。在'Context'上使用'getFilesDir()'來獲得你所說的'mainFolder /',並從那裏創建子目錄。(例如'File subdir = new File(getFilesDir(),「subFolder」); subdir.mkdirs(); ')。除了'getFilesDir()'部分之外,這與使用其他Java環境中的目錄並無太大區別。 – CommonsWare