mkdir() can only create one level of directories.
mkdirs(), to create multi-level directories
private final String APP_FOLDER = "/sdcard/DownDemo/"; // sd card application directory File folder = null; folder = new File(Environment.getExternalStorageDirectory()+ File.separator + APP_FOLDER ); if (!folder.exists()) { folder.mkdirs(); } private final String APP_FOLDER = "DownDemo"; // sd card application directory folder = new File(Environment.getExternalStorageDirectory()+ File.separator + APP_FOLDER ); if (!folder.exists()) { folder.mkdir(); }