? символ перед каждой строкой в ​​XML-файле UTF-16. Как с этим бороться или оставить как есть?

Аналогичный вопрос, но для UTF- размещен в stackoverflow. Что такое XML-спецификация и как мне обнаружить это?

Моя проблема: нужно ли мне удалить спецификацию из моих целевых файлов или оставить ее (поскольку это требуется для UTF-16). Вот краткая информация о ситуации (я опубликовал подробности в вопросе выше как ответ на первую часть):

  • Пара файлов XML, каждый из которых имеет две строки: первая строка, если объявление XML, а вторая строка содержит все остальные теги или содержимое XML. (вторые строки создаются из всего файла XML, кроме первой строки).
  • Теперь я объединяю несколько таких XML-файлов в один, две строки из исходного файла становятся одной строкой в ​​целевом файле. Целевой файл имеет пару таких отдельных строк, представляющих законченный исходный файл XML.
  • Когда я читаю исходные файлы и записываю их в целевой файл, я использую следующий код на Java и могу создавать целевые файлы.

    Вот код Java для чтения:

    Reader reader = new InputStreamReader(new FileInputStream(fileName),
    Charset.forName("UTF-16"));
    BufferedReader br = new BufferedReader(reader);
    String line = br.readLine();
    StringBuffer lineBuffer= new StringBuffer();
    lineBuffer.append(line);
    lineBuffer.append("\r\n");
    

Вот код Java для написания:

    Writer writer = new OutputStreamWriter(new FileOutputStream(
    targetFile ,true), "UTF-16");
    bw = new BufferedWriter(writer);
    bw.write(lineBuffer.toString());
  • Единственная проблема - когда я вижу целевой файл с разными редакторами, наблюдается разное поведение:
  • Notepad ++ с поддержкой UTF-16 показывает это прекрасно.
  • Блокнот Windows 7 показывает это без каких-либо специальных символов, но я вижу, что в целевом файле есть вторая строка с немного меньшим шрифтом.
  • Notepad ++ без поддержки UTF-16 показывает точку над ‹в начале второй строки и другие строки после нее.
  • На каком-нибудь другом редакторе? знак появляется перед строкой непосредственно перед тегом объявления xml, начиная со второй строки (первая строка - это файл)

Исходный файл:

<?xml version="1.0" encoding="UTF-16"?>
<OtherTags></OtherTags>

Целевой файл:

<?xml version="1.0" encoding="UTF-16"?><OtherTags></OtherTags>
?<?xml version="1.0" encoding="UTF-16"?><OtherTags></OtherTags>
?<?xml version="1.0" encoding="UTF-16"?><OtherTags></OtherTags>

person ishu    schedule 11.10.2016    source источник
comment
Ваш целевой файл никоим образом не является XML   -  person Gyro Gearless    schedule 11.10.2016
comment
Да, это комбинация множества файлов XML. Это требование.   -  person ishu    schedule 12.10.2016