【发布时间】:2021-04-16 13:16:51
【问题描述】:
我想将整个 File (java.io.File)转换为 FileItem (org.apache.commons.fileupload.FileItem)强>
谁能提供这个的代码片段。
帮我解决这个问题。
【问题讨论】:
标签: java apache-commons
我想将整个 File (java.io.File)转换为 FileItem (org.apache.commons.fileupload.FileItem)强>
谁能提供这个的代码片段。
帮我解决这个问题。
【问题讨论】:
标签: java apache-commons
File file = new File("/etc/path/file");
InputStream in = fileItem.getInputStream();
FileOutputStream out = new FileOutputStream(file);
org.apache.commons.io.IOUtils.copy(in, out);
不要忘记关闭流。
【讨论】:
来自 FileItem 的javadoc:
此类表示在 multipart/form-data POST 请求中接收到的文件或表单项
来自文件的javadoc:
文件和目录路径名的抽象表示。
它们都表示完全不同的概念。不能保证 FileItem 在磁盘上有等价物(可以指向 java.io.File)
这让我觉得这是x-y-problem,你应该用根本问题重新表述你的问题。
【讨论】:
java.io.File 的 API 函数?或者你有一个java.io.File 并且想要将它传递给一个需要org.apache.commons.fileupload.FileItem 的API?这就是 xy 问题所指向的:你已经选择了一个解决方案,并且正在寻找一种方法来做你选择的事情。但很有可能您的根本问题需要一个不同的解决方案一开始。