У меня есть этот фрагмент кода, который добавляет спецификацию UTF-8 к выходному потоку.Мне нужно добавить спецификацию, так как Excel не определяет неявно кодировку UTF-8 и, следовательно, французские символы отображаются в виде странных символов в Excel.
try {
response.setContentType(getContentType(request, response));
response.setContentLength(downloadData.length);
ServletOutputStream os = response.getOutputStream();
//Specify the BOM (Byte order Mask) for UTF-8 so that Excel can identify the encoding and open it in the correct format
os.write(new byte[] { (byte)0xEF, (byte)0xBB, (byte)0xBF });
os.write(downloadData);
os.flush();
response.flushBuffer();
} catch (IOException e) {
logger.error(e);
}
Однако, когда я вывожу выходной поток в файл, последний символ не печатается.
Есть идеи почему?