Как создать папку в android External Storage Directory?
Я не могу создать папку в каталоге внешнего хранилища android.
Я добавил разрешение на манифест,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Вот мой код:
String Path = Environment.getExternalStorageDirectory().getPath().toString()+ "/Shidhin/ShidhiImages";
System.out.println("Path : " +Path );
File FPath = new File(Path);
if (!FPath.exists()) {
if (!FPath.mkdir()) {
System.out.println("***Problem creating Image folder " +Path );
}
}
Ответы
Ответ 1
Сделайте это так:
String 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();
}
Ответ 2
Разница между mkdir
и mkdirs
заключается в том, что mkdir
не создает несуществующий родительский каталог, тогда как mkdirs
делает, поэтому, если Shidhin
не существует, mkdir
завершится с ошибкой. Кроме того, mkdir
и mkdirs
возвращает true, только если каталог был создан. Если каталог уже существует, они возвращают false
Ответ 3
Я могу создать папку в каталоге внешнего хранилища Android.
Я добавил разрешение на манифест,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Вот мой код:
String folder_main = "Images";
File outerFolder = new File(Environment.getExternalStorageDirectory(), folder_main);
File inerDire = new File(outerFolder.getAbsoluteFile(), System.currentTimeMillis() + ".jpg");
if (!outerFolder.exists()) {
outerFolder.mkdirs();
}
if (!outerFolder.exists()) {
inerDire.createNewFile();
}
Ответ 4
мы можем создать папку или каталог на внешнем хранилище как:
String myfolder=Environment.getExternalStorageDirectory()+"/"+fname;
File f=new File(myfolder);
if(!f.exists())
if(!f.mkdir()){
Toast.makeText(this, myfolder+" can't be created.", Toast.LENGTH_SHORT).show();
}
else
Toast.makeText(this, myfolder+" can be created.", Toast.LENGTH_SHORT).show();
}
и если мы хотим создать каталог или папку во внутренней памяти, мы сделаем следующее:
File folder = getFilesDir();
File f= new File(folder, "doc_download");
f.mkdir();
Но убедитесь, что вы дали разрешение на запись во внешнее хранилище.
И помните, что если у вас нет внешнего диска, то по умолчанию он выбирает внутренний родительский каталог.
Я уверен, что это будет работать..... наслаждайтесь кодом
Ответ 5
Попробуйте добавить
FPath.mkdirs();
(См. http://developer.android.com/reference/java/io/File.html)
а затем просто сохраните файл по мере необходимости на этом пути, ОС Android создаст все необходимые каталоги.
Вам не нужно делать проверки наличия, просто установите этот флаг и сохраните.
(Также см.: Как создать каталог автоматически на SD-карте
Ответ 6
попробуй {
String filename = "SampleFile.txt"; String filepath = "MyFileStorage";
FileInputStream fis = new FileInputStream(myExternalFile);
DataInputStream in = new DataInputStream(fis);
BufferedReader br =
new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
myData = myData + strLine;
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
inputText.setText(myData);
response.setText("SampleFile.txt data retrieved from External Storage...");
}
});
if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) {
saveButton.setEnabled(false);
}
else {
myExternalFile = new File(getExternalFilesDir(filepath), filename);
}