Я довольно новичок в android и java, мой фон - C# .net.Обработка ошибок при проблемах с кодировкой в File.listFiles() в android
У меня есть общий сетевой ресурс, подключенный к/mnt/cifs/Audio с помощью CifsManager. Другие приложения на устройстве могут отображать файлы в этом каталоге.
Моя проблема заключается в том, что мое приложение переходит в цикл при вызове listFiles() в объекте File. Я заметил, что это потому, что в этой папке есть файл или папка с недопустимым измененным именем UTF-8. Из LogCat я вижу, что это когда создается NewStringUTF, очевидно, что это делается внутри, когда я перечисляю все файлы.
Как я могу обойти эту проблему? Есть ли способ справиться с этой ошибкой/исключением или есть другой способ получить все файлы & папок, не столкнувшись с этой проблемой?
Любая помощь была бы принята с благодарностью.
Я предполагаю, что 'File.list()' или 'File.listFiles (filter)' (с фильтром, пропускающим файл) также не работают. –
Файл.list() приводит к той же проблеме. Однако я не пробовал фильтр. Не знаю, как я могу объяснить все возможные недопустимые имена. – Xtr
Добавление фильтра также не работает. Приложение переходит в цикл при выполнении файла file.getName() в файле, который содержит недопустимый символ в имени файла. Мне просто кажется странным, что это может сильно нарушить это, когда произойдет что-то такое незначительное. И приложения браузера файлов по-прежнему отображают этот проблемный файл, заменяя недопустимый символ. – Xtr