在Java中上载和读取text / csv文件

时间:2019-08-01 10:16:44

标签: java rest file spring-boot spring-rest

我是文件处理的新手。我想阅读上传的文本或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'对象中得到了空值。我在这里做什么错?我没有使用球衣框架。我正在使用弹簧靴架。

1 个答案:

答案 0 :(得分:0)

我对此有解决方案! 我将其修改如下:

@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());