Потоковая передача данных – правильный ли это способ создания файла CSV с использованием ByteArrayOutputStream?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Потоковая передача данных – правильный ли это способ создания файла CSV с использованием ByteArrayOutputStream?

Сообщение Anonymous »

У меня есть этот код. < /p>

Код: Выделить всё

@RequestMapping("/test")
fun getData(): ResponseEntity {
val items = repository.getItems()
val outputStream = ByteArrayOutputStream()

myService.writeData(items, outputStream)
val byteArrayData = outputStream.toByteArray()

outputStream.close() // ---------> Do I have to close here as well?

ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.header(
HttpHeaders.CONTENT_DISPOSITION,
"attachment; filename=file.csv"
)
.body(byteArrayData)
}
< /code>
, а также < /p>
fun writeData(items: List, outputStream: ByteArrayOutputStream) {
CSVPrinter(
outputStream.writer(),
CSVFormat.DEFAULT
).use { csvPrinter ->
items.forEachIndexed { index, it ->
csvPrinter.printRecord(…)
}
}
Возникает несколько вопросов:
  • Нужно ли мне также закрывать выходной поток при использовании .use функция на CSVPrinter? .use должен выполнить закрытие, просто не уверен, закрыт ли это выходной поток...
  • Когда выполнять выводStream.toByteArray? Можно ли это сделать после закрытия потока?
  • Ранее я использовал StringBuilder для создания настоящего файла .csv, но он вызывал некоторые ошибки OutOfMemory. После перехода на потоковую передачу данных использование кучи не намного улучшилось... Чего мне не хватает?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ayoutputst
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Потоковая передача данных - это правильный способ создания файла CSV с использованием BytearRayoutputStream?
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Потоковая потоковая передача видео с камеры FLIR с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Потоковая потоковая передача Polars: Parquet Parquet на основе Shift (-1)
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Безопасен ли метод WriteTo(OutputStream) ByteArrayOutputStream для большого файла?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Потоковая передача в / поднимая CSV от S3 до Python
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»