我有一个带有我的文件路径的字符串,我想用这个字符串实现new FormFile
。这可能......?
我的代码:
public ArrayList<FormFile> getFilesFromFolder(String path) {
File file = new File(path);
ArrayList<FormFile> vFiles = new ArrayList<FormFile>();
if (file.exists()) {
File[] files = file.listFiles();
int i;
for (i = 0; i < files.length; i++) {
if (files[i].isFile()) {
vFiles.add((FormFile) files[i]);
}
}
} else {
vFiles = null;
}
return vFiles;
}
但我在这行vFiles.add((FormFile) files[i]);
java.lang.ClassCastException: java.io.File无法强制转换为 org.apache.struts.upload.FormFile
答案 0 :(得分:1)
FormFile
是一个接口(无法实例化)。查看此接口的实现,如CommonsMultipartRequestHandler.CommonsFormFile
。这个有一个构造函数,可以为表示文件的FileItem
(DiskFileItem
)创建。
答案 1 :(得分:0)
您的代码失败是因为您创建了一个新的File
对象,但是您尝试将其转换为FormFile
。
FormFile
是一个接口,因此无法直接实例化。看起来您需要DiskFile
,它将是new DiskFile(path)
。