我有一个带有文件路径的字符串,并且我想使用该字符串实例化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

最佳答案

FormFile是一个接口(无法实例化)。查看此接口的实现,例如CommonsMultipartRequestHandler.CommonsFormFile。这有一个构造函数,可以为表示文件的FileItemDiskFileItem)创建。

07-27 21:39