开发者社区> 问答> 正文

确定InputStream的大小

我目前的情况是:我必须读取文件并将内容放入InputStream。之后,我需要将的内容InputStream放入一个字节数组,该数组需要(据我所知)的大小InputStream。有任何想法吗?

根据要求,我将显示从上传文件创建的输入流

InputStream uploadedStream = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); java.util.List items = upload.parseRequest(request);
java.util.Iterator iter = items.iterator();

while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { uploadedStream = item.getInputStream(); //CHANGE uploadedStreambyte = item.get() } } 该请求是一个HttpServletRequest对象,类似于FileItemFactory和ServletFileUpload,来自Apache Commons FileUpload包。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 13:14:01 542 0
1 条回答
写回答
取消 提交回答
  • 这是一个非常老的线程,但是当我搜索该问题时,它仍然是弹出的第一件事。所以我只想添加以下内容:

    InputStream inputStream = conn.getInputStream(); int length = inputStream.available(); 为我工作。而且比这里的其他答案更简单。

    警告:此解决方案无法提供有关流总大小的可靠结果。除了JavaDoc:

    请注意,尽管{@code InputStream}的某些实现将返回*流中的字节总数,但许多实现则不会。

    2020-02-09 13:14:11
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载