Я пишу приложение в AS3 на Flex, которое использует USB-съемное хранилище - SD-карты - и мне нужно отобразить пространство, доступное на нем, в индикаторе выполнения.В Flex/AIR: Можно ли определить размер съемного тома?
Получение свободного места на диске является достаточно простым, используя:
flash.filesystem.storageVolume.rootDirectory().spaceAvailable
..а для отображения свободного пространства графический, мне нужно знать общий размер диска, и я могу» t найти все равно получить эту информацию.
На данный момент я прибегал к гаданию размера примерно на основе свободного пространства, но это, безусловно, далеко от идеала.
Я просмотрел обширную документацию, которую Adobe предоставляет и googled, пока мои пальцы не болеют, но не повезло.
Я предполагаю, что это не может быть возможно с стандартными рамками и могу потребовать пользовательское Native расширения, чтобы быть написано - пожалуйста, скажите мне, что я ошибаюсь :)
Спасибо. Я рассмотрел возможность сканирования файловой системы, чтобы получить «использованное» значение пространства. Не имеет значения, если это не совсем точно, приближение будет очень хорошо. Я попробую и дам вам знать, как это работает. Еще раз спасибо! – Carl
Вы можете рекурсивно сканировать асинхронно с помощью getDirectoryListingAsync, в котором вы могли бы немедленно визуализировать пространство, доступное при обновлении пространства, используемого в качестве итогов. Извините, это сделало бы большой запрос функции в Adobe. –
Я предполагаю, что сканирование всего диска займет довольно много времени, я полагаю, вам лучше будет проверить ОС и использовать встроенные средства командной строки, чтобы получить необходимую информацию. Для окон вы можете использовать это: dir C: \ | find/i "bytes free"> drivespacefree.txt, для * nix систем вы можете использовать df http://www.cyberciti.biz/faq/check-free-space/ вы можете использовать bash в * nix как собственный процесс для запуска инструментов командной строки и cmd.exe в C: \ windows \ system32 \ на системах Windows. – shaunhusain