Android: сохраните два растровых изображения с одинаковым именем во внутренней памяти

Если я сохраню растровое изображение с именем «picture.jpg» во внутренней памяти, а через несколько шагов я также сохраню другое растровое изображение с именем «picture.jpg», что тогда произойдет? Второе растровое изображение перезаписывает первое или есть два растровых изображения с одинаковым именем?


person L3n95    schedule 28.04.2014    source источник
comment
У вас не может быть двух файлов с одинаковыми именами и расширениями. Если файл открыт, вы получите сообщение об ошибке, иначе он будет перезаписан новым.   -  person Phantômaxx    schedule 28.04.2014
comment
Значит, второе растровое изображение перезапишет первое? Что было бы хорошо.   -  person L3n95    schedule 28.04.2014
comment
Если первый еще не открыт в каком-то контексте. Или вы получите ошибку (которую вы можете перехватить и управлять).   -  person Phantômaxx    schedule 28.04.2014
comment
попробуйте это stackoverflow.com/a/63118912/4685284   -  person Shahbaz Hashmi    schedule 27.07.2020


Ответы (1)


Это покажет вам ошибку, я предлагаю вам использовать динамическое имя файла или удалить его перед сохранением, в случае динамического вы можете использовать что-то вроде этого:

static int fCount = 0;

File file = new File(Environment.getExternalStorageDirectory()
                    + File.separator + "/test" + String.valueOf(fCount++) +".jpg" );

Or

File file = new File(getExternalCacheDir(), "test.jpg" ); if (file.exists()) { boolean deleted = file.delete(); }
person user3471194    schedule 28.04.2014