首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件的直接行计数(ByteStream)- JAVA

文件的直接行计数(ByteStream)- JAVA
EN

Stack Overflow用户
提问于 2018-06-22 10:02:23
回答 2查看 1.2K关注 0票数 1

在我的类中,我有一个多部分文件作为ByteStream,我希望对它中的记录数进行计数。

上传的文件要么是文本/CSV格式,记录如下:

代码语言:javascript
复制
number1,note1
number1,note2
number3,note3
...

我的主要要求是,我不把这个文件存储在任何地方。

所以我不能使用FileReaderBufferedReader

有办法直接计算这个ByteStream的行数吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-22 10:20:14

以下是经过测试并运行良好的:

代码语言:javascript
复制
@PostMapping(consumes=MediaType.MULTIPART_FORM_DATA_VALUE)  
public void fileUpload (@RequestParam MultipartFile file){

        ByteArrayInputStream bis=new  ByteArrayInputStream(file.getBytes());        

        try(BufferedReader br=new BufferedReader(new InputStreamReader(bis))){          
        long count = br.lines().count();
        System.out.println(">>> total lines : "+count);
  }

}
票数 2
EN

Stack Overflow用户

发布于 2018-06-22 10:10:47

您无法读取行数,因为它不是您正在获取的字节流文件。如果必须读取行数,然后创建tempfile,使用Bufferreader读取它,然后仅通过代码删除该文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50985528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档