В настоящее время мы испытываем некоторые проблемы с записью/кодированием файлов, которые мы не можем воспроизвести. На самом деле есть две проблемы, которые могут иметь одну и ту же причину:Нежелательные символы в начале или конце файла
1) У нас есть приложение (или несколько экземпляров одного и того же приложения), которое использует шаблон скорости для создания файла css по запросу пользователя. Однако в некоторых случаях это приложение (работающее на том же сервере с использованием тех же библиотек в тех же версиях) добавляет некоторые строгие символы в строку CSS, которая записывается в файл (это не символ порядка байтов UTF-8).
2) Еще одно приложение недавно предоставило Javascript-файл (расположенный в EAR) с добавленными нежелательными символами. В большинстве случаев одно и то же приложение правильно доставляет этот файл Javascript, и мы пока не можем воспроизвести это поведение. Предполагалось, что файл, который записывается в временную папку сервера, каким-то образом поврежден.
Оба приложения имеют общий факт, что ненужные символы добавляются в файл, поэтому он может быть такой же или подобной причиной.
Однако, как я уже говорил, мы не можем воспроизвести это поведение на наших тестовых или машинах разработки, и мы не знаем, что может быть причиной (мы уже проверили кодировку файла, которая установлена в UTF- 8).
Вот еще некоторая информация о системе:
ОС: Debian GNU/Linux 5.0.4 (Ленни) JBoss: 4.2.3.GA Java: JDK 1.5.0_17 SUn-b04
Любая идея, что может происходить или что мы можем искать?
Заранее спасибо.
Edit:
Часть кода для задачи 1)
...
FileWriter fw;
try
{
String path = tConfigProperties.getProperty(VELOCITYPATHPARAM);
fw = new FileWriter(path + VELOCITYFILEPARM);
fw.write(sw.toString());//sw is a StringWriter passed to velocity for template processing
fw.close();
}
catch(IOException e)
{
//handle exception and display error message
}
Проблема 2) не может быть проблема с нашей Java кода, так как все, что мы делаем это связать Javascript в JSP ,
+1 для того, чтобы снова проверить вход для проблемы 1. – Thomas