我目前的情况是:我必须读取一个文件并将内容放入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
and ServletFileUpload
来自 Apache Commons FileUpload 包。
这是一个非常古老的线程,但当我用谷歌搜索这个问题时,它仍然是第一个弹出的东西。所以我只想添加这个:
InputStream inputStream = conn.getInputStream();
int length = inputStream.available();
为我工作。而且比这里的其他答案简单得多。
Warning此解决方案无法提供有关流总大小的可靠结果。除了 JavaDoc 之外:
请注意,虽然 {@code InputStream} 的某些实现将返回
* 流中的总字节数,很多不会。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)