Intereting Posts
Наименее инвазивный способ однозначно идентифицировать пользователя Android Понимание концепций холста и поверхности Типичный файл .gitignore для Android-приложения Как исправить ошибку «Ошибка – не удалось выполнить инструменты \ android.bat, ошибка 2» в Android? Скрыть макет после 10 секунд в Android? Переустановить .apk с помощью Eclipse без запуска. Как использовать токен, возвращенный GoogleAuthUtil.getToken, с моим брандмауэром App Engine Поймать клавиатуру «Готово» для NumberPicker Android: Как вы можете получить фреймбуфер (скриншот) на корневом устройстве? Почему onMeasure () дважды вызывается в моем пользовательском представлении? Подключение к Wi-Fi без интернета Как создать прозрачную активность на Android? Как сделать телефонный звонок в android и вернуться к моей активности, когда звонок будет завершен? Андроид java ошибки реализации .. они документированы? Нет списка устройств в Android DDMS

Сохранить растровое изображение в Android в формате JPEG во внешнем хранилище в папке

Я использую этот код для сохранения Bitmap в External Storage, но он не создает папку, если она не существует:

String path = Environment.getExternalStorageDirectory().toString(); OutputStream fOutputStream = null; File file = new File(path + "/Captures/", "screen.jpg"); try { fOutputStream = new FileOutputStream(file); capturedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOutputStream); fOutputStream.flush(); fOutputStream.close(); MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName()); } catch (FileNotFoundException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } catch (IOException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } 

Как сохранить изображение в новом каталоге, если оно не существует, и сохранить значение по умолчанию, если папка находится на устройстве?

Solutions Collecting From Web of "Сохранить растровое изображение в Android в формате JPEG во внешнем хранилище в папке"

Попробуйте, это даст вам результат:

 String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/req_images"); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-" + n + ".jpg"; File file = new File(myDir, fname); Log.i(TAG, "" + file); if (file.exists()) file.delete(); try { FileOutputStream out = new FileOutputStream(file); bm.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } 

Добавьте это, чтобы показать в галерее:

 sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

Посмотрите на эту ссылку для получения четкого ответа: показать изображения папок в галерее

Пожалуйста, используйте нижеприведенный фрагмент кода, который может помочь

  String path = Environment.getExternalStorageDirectory().toString(); OutputStream fOutputStream = null; File file = new File(path + "/Captures/", "screen.jpg"); if (!file.exists()) { file.mkdirs(); } try { fOutputStream = new FileOutputStream(file); capturedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOutputStream); fOutputStream.flush(); fOutputStream.close(); MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName()); } catch (FileNotFoundException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } catch (IOException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } 

Используйте следующее:

 File dir = new File(path + "/Captures/"); if(!dir.exists()) { dir.mkdirs(); } File file = new File(path + "/Captures/", "screen.jpg"); ...... 

Вы должны посмотреть в документации файла, вы найдете метод mkdir (). Это почти то же самое, что и unix one: https://developer.android.com/reference/java/io/File.html#mkdir ()