2011-08-18 11 views
11

Czy jest możliwe, aby aplikacja na Androida tworzyła kilka katalogów w pamięci wewnętrznej do przechowywania różnych plików? Potrzebuję tej możliwości, ponieważ będę musiał usunąć pewien rodzaj plików w określonym momencie w mojej aplikacji.Tworzenie katalogu w pakiecie aplikacji w pamięci wewnętrznej

Kiedy próbuję użyć standardowej Context metody openFileOutput() i wysłać do niej nazwę pliku z symbolem "/", otrzymuję IllegalArgumentException.

Proszę mi powiedzieć, jakie klasy i metody mogą mi pozwolić na taką funkcjonalność?

+0

http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

+0

miałem podobny problem. I rozwiązał to. http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

Odpowiedz

36

Użyj metody Context.getDir(String name, int mode) do tworzenia lub uzyskiwania dostępu do katalogów w pamięci wewnętrznej. Cytat z dokumentów:

Odzyskaj, tworząc w razie potrzeby nowy katalog, w którym aplikacja może umieścić własne niestandardowe pliki danych. Możesz użyć zwróconego obiektu File, aby tworzyć i otwierać pliki w tym katalogu. Zwróć uwagę, że pliki utworzone za pomocą obiektu File będą dostępne tylko w Twojej aplikacji; można ustawić tylko tryb całego katalogu, a nie poszczególnych plików.

UPD przykład:

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir; 
File fileWithinMyDir = new File(mydir, "myfile"); //Getting a file within the dir. 
FileOutputStream out = new FileOutputStream(fileWithinMyDir); //Use the stream as usual to write into the file. 
+0

Wielkie dzięki za odpowiedź. Czy możesz mi wyjaśnić, proszę. Kiedy utworzę obiekt 'File' używając' Context.getDir() ', jak mogę dodać do tego obiektu' File' kolejny obiekt 'File'? – teoREtik

+1

@teoREtik patrz zaktualizowany przykład. –

+1

Dziękuję bardzo. Jesteś bardzo miły!!! – teoREtik

Powiązane problemy