FileInputStream fis=new FileInputStream(getUpload());报错,让改成String,这是什么原因?

## # ## 单文件上传,代码如下:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.UUID;

import org.apache.tomcat.jni.File;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

private File upload;
private String uploadContentType;
private String uploadFileName;
private String savePath;
public File getUpload() {
    return upload;
}
public void setUpload(File upload) {
    this.upload = upload;
}
public String getUploadContentType() {
    return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
    this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
    return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
    this.uploadFileName = uploadFileName;
}
public String getSavePath() {
    return savePath;
}
public void setSavePath(String savePath) {
    this.savePath = savePath;
}
 public String execute() throws Exception{
      String newName=UUID.randomUUID()+uploadFileName.substring(uploadFileName.lastIndexOf("."));
      FileOutputStream fos=new FileOutputStream(getSavePath()+"\\"+ newName);
      FileInputStream fis=new FileInputStream(getUpload());
      byte[] buffer=new byte[1024];
      int len=0;
      while((len=fis.read(buffer))>0) {
          fos.write(buffer,0,len);
      }
      setUploadFileName(newName);
      return SUCCESS;
  }

}

FileInputStream fis=new FileInputStream(getUpload());

它一直让change return type of 'getUpload(..)' to 'String'

这是什么原因呢?

#