У меня есть проект, написанный для Android-устройств. Он генерирует большое количество файлов каждый день. Это все текстовые файлы и изображения. Приложение использует базу данных для ссылки на эти файлы.
Приложение должно очищать эти файлы после небольшого использования (возможно, через несколько дней), но этот процесс может работать или не работать. Это не вопрос этого вопроса.
Из-за исторической аварии организация файлов несколько наивна: все в одном каталоге; a .hidden
, который содержит файл с нулевым байтом .nomedia
, чтобы предотвратить индексирование MediaScanner.
Сегодня я вижу сообщение об ошибке:
java.io.IOException: Cannot create: /sdcard/.hidden/file-4200.html
at java.io.File.createNewFile(File.java:1263)
Что касается SD-карты, я вижу, что у нее осталось много памяти, но считая
$ cd /Volumes/NO_NAME/.hidden
$ ls | wc -w
9058
Удаление нескольких файлов, похоже, позволило продолжить создание файла.
К сожалению, я не пытался touch
добавить новый файл, чтобы попытаться воспроизвести ошибку в командной строке; Я также удалил несколько сотен файлов, а не несколько.
Однако мой вопрос:
- Существуют ли жесткие ограничения на размер файлов или количество файлов в каталоге?
- Я даже на правильном пути здесь?
Nota Bene: SD-карта как есть - то есть я ее не отформатировал, поэтому я бы предположил, что это будет формат FAT- *.
Формат FAT-32 имеет жесткие ограничения на размер файлов размером 2 ГБ (значительно выше файлов, с которыми я имею дело) и ограничение количества файлов в корневом каталоге. Я определенно не пишу файлы в корневом каталоге.