在 java 中上传并阅读 text/csv 文件

Upload and read text/csv file in java

我是文件处理新手。我想阅读上传的文本或 CSV 文件。 控制器看起来像这样:

@PostMapping("/{testid}/consumers")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@ResponseStatus(HttpStatus.OK)
public Subscription createConsumer(@PathVariable String cid, @FormParam("file") InputStream inputStream)

我正在这样的服务中阅读这篇文章:

public Subscription createSubscription(String campaingid, InputStream file) {

        BufferedReader br = new BufferedReader(new InputStreamReader(file));

        log.debug("Write File--------------------------- ");
        String line = null;
        try {
            while ((line=br.readLine()) != null) {
            log.debug("Line: " + line);
        } catch (IOException ioe) {
            log.error("Exception while reading input " + ioe);
        } 
}

但我在 'br' 对象中得到空值。我在这里做错了什么?我没有使用球衣框架。我正在使用 spring 启动休息。

我找到了解决方案! 我修改如下:

@PostMapping("/{testid}/consumers")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@ResponseStatus(HttpStatus.OK)
public Subscription createConsumer(@PathVariable String cid, @RequestParam("file") MultipartFile file)

而我是这样阅读的:

InputStream inputStream = file.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                list = br.lines().collect(Collectors.toList());