Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286

Недопустимый символ в имени файла

29.03.2014, 05:29. Показов 3532. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Господа есть список файлов к каждому из них нужно получить MIME тип. С этим со всем проблем нет. Но как только в имени файла встречается # выскакивает StringIndexOutOfBoundsException и что то совсем непонятно какого фига. Убираю # все работает, что наталкивает на мысль, что этот символ недопустим в имени файла. Но в списке недопустимых символов я его не нашел. Вообщем как обойти этот казус? Файловый менеджер в телефоне отображает все это дело без каких то проблем. Очень не хочется заморачиваться с парсером имен файлов для выявления "плохих" символов. Подскажите ченить)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.03.2014, 05:29
Ответы с готовыми решениями:

RESOURCE_LIMIT - Во входном файле недопустимый символ 0
С помощью команды show parameter pfile посмотрел имя файл инициализационных параметров. Хотел изменить этот файл, добавит туда параметер...

Xml содержит недопустимый символ в позиции 0 ¬. чтение штрихкода
Здравствуйте! подключили древний сканер штрихкода RealScan 7832. При тестовом считывании выдаёт: ¬2000000000411. При считывании штрихкода...

Как обойти недопустимый символ при записи данных в БД
Мое почтение. Ситуация:Через форму, сделанную в VB.Net, информация заносится в базу данных Access (SQL запросом). Все хорошо работает до...

5
Командир зеленых роботов
 Аватар для angryrobot
349 / 286 / 54
Регистрация: 08.10.2013
Сообщений: 576
29.03.2014, 23:39
Цитата Сообщение от KillAndEat Посмотреть сообщение
Подскажите ченить
Показывайте проблемный кусок кода и стектрейс.
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
30.03.2014, 09:05
Я где то читал, что # используется для разделения чего-то в URI адресах. Может в этом дело?
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
31.03.2014, 12:36  [ТС]
angryrobot,

вылет в этом методе

Java
1
2
3
4
public String getMIME(File file) {
        FileNameMap fileNameMap = URLConnection.getFileNameMap();
        return fileNameMap.getContentTypeFor(file.getAbsolutePath());
    }
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Thread [<1> main] (Suspended (exception StringIndexOutOfBoundsException))   
    <VM does not provide monitor information>   
    String.startEndAndLength(int, int) line: 593    
    String.substring(int, int) line: 1474   
    DefaultFileNameMap.getContentTypeFor(String) line: 38   
    FileManagment.getMIME(File) line: 31    
    FileManagment.getList(String) line: 89  
    SystemOverview.updateList(String) line: 58  
    SystemOverview.onListItemClick(ListView, View, int, long) line: 46  
    ListFragment$2.onItemClick(AdapterView, View, int, long) line: 58   
    ListView(AdapterView).performItemClick(View, int, long) line: 298   
    ListView(AbsListView).performItemClick(View, int, long) line: 1088  
    AbsListView$PerformClick.run() line: 2861   
    AbsListView$1.run() line: 3535  
    Handler.handleCallback(Message) line: 615   
    ViewRootImpl$ViewRootHandler(Handler).dispatchMessage(Message) line: 92 
    Looper.loop() line: 137 
    ActivityThread.main(String[]) line: 4765    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 511  
    ZygoteInit$MethodAndArgsCaller.run() line: 791  
    ZygoteInit.main(String[]) line: 558 
    NativeStart.main(String[]) line: not available [native method]


verylazy, может и по этому) как обойти то)
0
Командир зеленых роботов
 Аватар для angryrobot
349 / 286 / 54
Регистрация: 08.10.2013
Сообщений: 576
31.03.2014, 13:08
Цитата Сообщение от KillAndEat Посмотреть сообщение
вылет в этом методе
Попробовал, и у меня та же проблема. Есть простое решение: Передавайте в метод getContentTypeFor только расширение файла (вместе с последней точкой). Тогда всё заработает
1
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
31.03.2014, 13:34  [ТС]
angryrobot, смахивает на частное решение. Вдруг каким то чудесным образом этот символ окажется в расширении. Не хотелось бы чтоб приложение падало из за этого.

Java
1
2
3
4
5
6
7
[SPOILER]String type = null;
        String extension = MimeTypeMap.getFileExtensionFromUrl(URL);
        if (extension != null) {
            MimeTypeMap mime = MimeTypeMap.getSingleton();
            type = mime.getMimeTypeFromExtension(extension);
        }
        return type;[/SPOILER]
вот так все работает. может пригодится кому
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2014, 13:34
Помогаю со студенческими работами здесь

Как сделать проверку на наличие похожего имени файла и запрос нового имени файла?
При загрузке изображения присваивается имя foto.jpg. Вопрос, как сделать проверку на то что фото с таким именем существует и если он...

Сделать проверку на наличие похожего имени файла и запрос нового имени файла
Пользователь задает имя для создания файла. Вопрос, как сделать проверку на наличие похожего имени файла и запрос нового имени файла?

вывести символы в следующем порядке: первй символ из входного файла, последний символ, второй символ, предпоследний смвл
Дан файл in.txt, содержащий текст. Требуется вывести в файл out.txt символы в следующем порядке: первый символ из входного файла, последний...

Напишите программу копирования текстового файла, изменяющей в копии файла символ пробела на символ точка с запятой
Помогите пожалуйста. Без всяких сложных заморочек, так как я только начинающий

Считать последний символ файла. Записать символ в конец файла
Есть файл. Нужно сначала дописать в его конец один символ, а затем его считать. Как это сделать? Подскажите!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru