Файлы свойств текста Java: есть ли способ проверить правильность? - PullRequest
4 голосов
/ 02 декабря 2011

Похоже, что Properties.load () успешно загружается в двоичном мусоре, если не находит недопустимый \uxxxx escape-символ. Есть ли способ быть более строгим? Я только что посмотрел на документы для текстового формата файлов свойств , и я запутался, как определить, является ли файл .properties действительным.


edit: откуда я пришел с этим: я решил, что если я укажу моему приложению бинарный файл размером 10 МБ, оно отклонит его. Файл 10 МБ был отклонен, но только из-за символов \uxxxx.

Полагаю, я мог бы создать фильтр для входного потока, чтобы ограничить его каким-то «нормальным» объемом, например 1 МБ, и отфильтровать любые пары ключ / значение, в которых ключ не соответствует приемлемому шаблону. Но я надеялся, что у него может быть какая-то минимальная структура для отклонения сильно поврежденных файлов.

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

Файлы свойств должны иметь общий формат. Приложение отвечает за то, чтобы каждое отдельное свойство имело нормальное значение.

1 голос
/ 02 декабря 2011

Отметьте страницу . В нем говорится, что метод load создает исключение IllegalArgumentException, если входной поток содержит некорректную escape-последовательность Unicode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...