W mojej aplikacji dodałem możliwość dodawania i zapisywania zdjęć na co dzień, reprezentowanych przez Fragment
.File.createTempFile() VS nowy plik()
Aby zapisać obraz na karcie SD, Używam obecnie funkcję File.createTempFile
:
File imageFile = File.createTempFile(imageFileName, MyApplication.JPEG_FILE_SUFFIX, MyApplication.getAlbumDir());
I rzeczywiście próbował również ze standardowym sposób:
File imageFile = new File(MyApplication.getAlbumDir(), imageFileName + MyApplication.JPEG_FILE_SUFFIX);
oboje pracują, ale w moim przypadku pierwsza jest lepsza od drugiej, ponieważ funkcja createTempFile
dodaje długą losową liczbę na końcu nazwy pliku, czyniąc ją unikalną.
Aby dać przykład, tutaj jest to, co mam z obu metod:
Z createTempFile: IMG_2013-06-18_-1961144729.jpg
Z nowy plik: IMG_2013-06-18_.jpg
Wreszcie moje pytanie brzmi, czy można bezpiecznie używać createTempFile
do zapisywania moich zdjęć lub czy muszę używać standardowego sposobu i dodawać kod, aby wygenerować niepowtarzalną nazwę pliku? Czy powinien być używany tylko do plików tymczasowych?
Przejrzałem dokumentację dotyczącą funkcji, ale nie znalazłem nic o możliwych konsekwencjach jej użycia zamiast new File
.
Dziękuję
Tak, 'createTempFile' daje mi wyniki, które chcę, ale moje pytanie brzmi: czy można bezpiecznie korzystać z tej funkcji, podczas gdy w rzeczywistości wydaje się, że jest przeznaczona tylko do tworzenia plików tymczasowych. –
Tak, jest bezpieczny. Ponownie, tylko wadą/różnicą jest to, że nie masz pełnej kontroli nad nazwą pliku. – user1676075
Ok, będę go dalej używał, dziękuję za wyjaśnienie! –