Я экспортирую CSV со следующей реализацией.
Вывод подходит для всех имен Csv, кроме тега «application».
Двойные кавычки изменяются, и данные становятся поврежденными, поскольку их невозможно импортировать обратно.
Я не уверен, что String.getBytes изменяет значения приложения или после записи данных объектом OutPutStream.write значения приложения изменяются.
Ожидаемый выход CSV должен иметь значение приложения как [xx, "yy / zz"]
Но мой вывод CsvFile для приложения - [xx, yy / zz "]"
aInOutputStream.write (lFinalCsv.getBytes (( "UTF-8")));
@Provider
@Component
@Produces("text/csv")
public class CSVMessageBodyWriter implements MessageBodyWriter
{
@Override
public void writeTo(Object aInObject, Class aInClass, Type aInType,
Annotation[] aInAnnotations, MediaType aInMediaType,
MultivaluedMap aInMultivaluedMap, OutputStream aInOutputStream)
throws IOException, WebApplicationException
{
/*
lFinalCsv String has the following text-
securityDomain,originHost,routeId,application,modifiedDate,active,description,modifiedBy,realm,distributionList,priority,smProvState
,p,sample,"[xx,"yy/zz"]","August 29, 2018 02:19 PM",true,,smadmin,o,[],2,NEW
*/
aInOutputStream.write(lFinalCsv.getBytes(("UTF-8")));
}
Ожидаемый выход CSV должен иметь значение приложения как [xx, "yy / zz"]
Но мой вывод CSV имеет Application as - [xx, yy / zz "]"