На самом деле рекомендуемый способ публикации файла с использованием HTTP - использовать multipart/form-data
(отметьте это RFC-1867 ).
Используя это, вы даже можете опубликовать несколько файлов, указав их типы MIME и их кодировку - большинство ответов используют UTF-8 ... но весьма опасно предположить, что new StringReader(xmlString)
почтиэквивалентно, но в некоторой степени неправильно, так как без givin 'любая кодировка оставит резервный jvm в кодировке по умолчанию' server '.
Для обработки такой загрузки файла без накладных расходов фреймворка (таких как Struts2 ... если хотите) использовать FileUpload apache lib.
Они рекомендуют использовать классический API (rfc), но предоставляют другую умную функцию для использования stream
напрямую ...
Теперь, говоря о разборе, мой POV должен использовать читателя в соединении с типом mime (заданным FileUpload) для загруженного файла.Таким образом, с FileUpload вы получите доступ к FileItem
, в котором item.getContentType()
поможет вам создать InputStreamReader
с помощью этого конструктора
Редактировать
Если вы хотитечтобы пойти с каркасом, еще на один шаг дальше, чем в Struts 2. Вот то, что я бы порекомендовал для чтения. Это очень подробный учебник о том, как справляться с загрузкой файлов с использованием Spring 3 updload progly и загрузка с HTML