【问题标题】:Read CSV File with Spring Webflux and opencsv [closed]使用 Spring Webflux 和 opencsv 读取 CSV 文件 [关闭]
【发布时间】:2021-08-08 19:09:00
【问题描述】:

有人知道我们如何使用 Spring Boot Web Flux 读取 CSV 文件并打开 Csv。

 @PostMapping
    fun uploadCsvFile(
        @RequestPart("file") filePart: FilePart
    ){
        

        filePart.content()
            .map { ??? }


    }

【问题讨论】:

  • 你没有。 OpenCSV 是一个阻塞 IO 库。 WebFlux 是一个基于 NIO 的反应式编程框架。您当然可以对它们进行互操作,但您很可能会因为在文件系统层上使用 BIO 而失去在 Web 层上使用 NIO 的好处。
  • 好的,谢谢您的回复。那么您知道如何阅读内容吗?

标签: java spring-boot kotlin spring-webflux


【解决方案1】:

我解决了这个问题。可能可以帮助某人

@PostMapping("/upload")
    fun uploadCsvFile(@RequestPart("file") file: FilePart) = 
file.content().map {dataBuffer -> 
              dataBuffer.asInputStream().bufferedReader()
.use { createCSVToBean(it).parse() }

private fun createCSVToBean(fileReader: BufferedReader?): CsvToBean<**Your_DATA_CLASS**> =
    CsvToBeanBuilder<**Your_DATA_CLASS**>(fileReader)
        .withType(**Your_DATA_CLASS**::class.java)
        .withIgnoreLeadingWhiteSpace(true)
        .build()

【讨论】:

    猜你喜欢
    • 2022-11-12
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多