Ошибка «преждевременный конец файла», когда Java читает и записывает файлы данных XML - PullRequest
6 голосов
/ 02 апреля 2009

Я использую библиотеку JDOM для чтения и записи файлов XML через сервлеты Java.

Проблема в том, что когда я отправляю много запросов, используя AJAX, моим сервлетам, которые читают и записывают данные в XML-файлы, во многих случаях возникает ошибка: преждевременный конец файла. Как я могу синхронизировать все эти чтения / записи в файлы или есть какой-либо другой способ предотвратить эти проблемы? Дайте мне знать, если потребуется более подробная информация.

Будет ли польза от потоков полезна в этой ситуации?

Большое спасибо!

Ответы [ 4 ]

6 голосов
/ 02 апреля 2009

Два возможных решения:

  • Запишите ваши файлы в thename.xml.part, а затем однажды сделайте / закройте для переименования в thename.xml, что делает запись более приближенной к атомарной - читатель не может прочитать ее, пока она, конечно, не будет выполнена, пока он ищет только файлы ".xml".
  • или, используйте базу данных, атомарность - это то, что они делают.
0 голосов
/ 12 января 2018

Попробуйте добавить все запросы на запись в Очередь процессов , а затем создать / добавить XML с помощью этих элементов Очереди.

0 голосов
/ 02 ноября 2017

Я тоже сталкивался с этой проблемой. Мой опыт ...

  1. Чистый проект
  2. Перестроить проект

тогда он будет работать успешно ....

0 голосов
/ 12 апреля 2011

Я сталкивался с такой проблемой, но не совсем так. Я делюсь своим опытом об этой ошибке. Приносим извинения за неудобства.

Я столкнулся со следующей проблемой

  1. Я должен сформировать XML-файл с данными динамической переменной. И отправьте этот XML на URL-адрес PostMethod в Java.

  2. Обычно это работает. Но когда данные динамической переменной нулевые. Затем отображается «Преждевременный конец файла».

Решение:

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