Предотвращение фрагментации при сохранении файлов в файловой системе BlackBerry. Лучшая практика? - PullRequest
2 голосов
/ 20 мая 2011

В моем приложении мне нужно сохранить какой-нибудь файл (pdf) в файловую систему.Мой текущий метод заключается в создании каталога для хранения файлов:

FileConnection fc = (FileConnection)Connector.open("file:///SDCard/BlackBerry/pdfs/");
    if (!fc.exists())
        fc.mkdir();
    fc.close();

Затем я пишу в каталог с моим файлом:

 fc = (FileConnection)Connector.open("file:///SDCard/BlackBerry/pdfs/" + filename, Connector.READ_WRITE);
    if (!fc.exists())
        fc.create();
    OutputStream outStream = fc.openOutputStream();
    outStream.write(pdf);
    outStream.close();
    fc.close();

Все это прекрасно работает, и мой pdf-файл приходит вмой созданный каталог. У меня вопрос: возникнут ли у меня проблемы с тем, что я жестко закодировал путь к файлу в качестве места назначения для сохранения. С помощью API BlackBerry можно получить доступную для записи папку, которая существует во всех моделях / конфигурациях

1 Ответ

2 голосов
/ 20 мая 2011

Вы можете запросить систему о доступных корнях, используя FileSystemRegistry.listRoots().Обратите внимание, что не гарантируется, что будет sdcard, или что она будет видимой, даже если она есть (например, в режиме запоминающего устройства).Я думаю, что единственный рут гарантированно будет на всех устройствах - это внутреннее хранилище ("file:///Store").

(немного) больше информации здесь .

...