我目前的情况是:我必须读取一个文件并将内容放入 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 包。
原文由 ChronoXIII 发布,翻译遵循 CC BY-SA 4.0 许可协议
我只是想补充一点,Apache Commons IO 具有流支持实用程序来执行复制。 (顺便说一句,将文件放入输入流是什么意思?你能告诉我们你的代码吗?)
编辑:
好的,你想对项目的内容做什么?有一个
item.get()
它以字节数组的形式返回 整个事物。编辑2
item.getSize()
将返回上传的 文件大小。