File upload “找不到文件”异常,该代码段在其他项目中可以完美地工作
下面这个Scipet工作得很好,我已经在许多项目中使用过它。然而,对于这一个项目,我得到一个文件未找到异常File upload “找不到文件”异常,该代码段在其他项目中可以完美地工作,file-upload,playframework,playframework-1.x,File Upload,Playframework,Playframework 1.x,下面这个Scipet工作得很好,我已经在许多项目中使用过它。然而,对于这一个项目,我得到一个文件未找到异常 try { FileInputStream is = new FileInputStream(file); String original = file.getName(); Logger.debug("Filename in upload pf %s ", original); IOUtils.copy(is, new F
try {
FileInputStream is = new FileInputStream(file);
String original = file.getName();
Logger.debug("Filename in upload pf %s ", original);
IOUtils.copy(is, new FileOutputStream(Play.getFile(original)));
PfParser p1 = new PfParser();
p1.read(original, month, year);
Payroll.index();
} catch (FileNotFoundException e) {
Logger.error(e, "Exception in uploadSheet: ");
e.printStackTrace();
} catch (IOException e) {
Logger.error(e, "Exception in uploadSheet: ");
e.printStackTrace();
}
这是read方法,我在其中尝试了一些组合,这些组合被注释掉了:
FileInputStream myInput = new FileInputStream(
System.getProperty("user.dir") + inputFile);
w = Workbook.getWorkbook(myInput);
// w = Workbook.getWorkbook(new File(inputFile));
// w = Workbook.getWorkbook(new File(System.getProperty("user.dir"),
// inputFile));
这会将文件上载到C:\ProgramFiles(x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\application
文件夹
我正在尝试使用Jetcel读取excel文件。我在服务器上遇到的错误:
java.io.FileNotFoundException: foo.xls (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
我理解这是一个与绝对路径和相对路径相关的问题,但似乎找不到解决方案。在我的本地机器Ubuntu上进行编码和测试时,我没有收到任何错误。只有当我部署到Windows服务器时,我才会遇到这些问题
谢谢。如果文件不在您在FileInputStream构造函数中提供的绝对/相对路径上,则会出现FileNotFound异常
FileInputStream is = new FileInputStream(file);
我怀疑您在FileInputStream构造函数中没有给出正确的位置。如果您编写完整的spinet,包括文件位置等,那就太好了。我将行从
IOUtils.copy(即新文件outputstream(Play.getFile(original))代码>
到
IOUtils.copy(即新文件输出流(“./”+原始文件))代码>
Upload now works.也在谷歌上搜索了很多,vogella上的解决方案也没有帮助。该文件已成功上载到C:\Program Files(x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\application
文件名,没有任何路径。它可能是System.getProperty中的变体/更改(“user.dir”)
这在Ubuntu和Windows平台上可能有所不同。另外,请注意这两个平台的文件系统。因为在UNIX上使用“/”和在Windows上使用“\”来引用文件。我继续阅读,Java文件方法非常好地管理分隔符路径。
FileInputStream is = new FileInputStream(file);