java.io.FileNotFoundException:/u01/app/webapps/out/pj/Create.xlsx

时间:2014-08-05 12:54:35

标签: java excel file filenotfoundexception fileoutputstream

我正在尝试比较两个excel文件的上次修改日期,并用新文件替换旧文件。

  

在场景中:如果首先没有文件,则代码会将文件复制到该位置,然后再将其读取。

     

问题是:当服务器上没有excel文件时,即使将文件写入后,它也会抛出FileNotFound exception   服务器(通过代码),但在服务器上看不到该文件。它的工作原理   我的机器(windows),但在服务器上部署时失败。

同样,当文件存在于服务器上时,它就像魅力一样,旧文件被新文件替换。

请您帮忙解释为什么它在上述情况下失败,并且仅在服务器上失败?

if(row.getValue("fileType").toString().equals("xlsx")&&checkindatefolder.after(localdate))
                {
                messagelist.add("we are going to get the replace file in the server");


            InputStream inp=folder.getFile();
            ZipInputStream izs = new ZipInputStream(inp);
            ZipEntry e = null;
            while ((e = izs.getNextEntry()) != null) {
                System.out.println("e.isDirectory(): "+e.isDirectory());
            if (!e.isDirectory()) {
                    filename=e.getName();
                    System.out.println("filename: "+filename);
                    FileOutputStream os=new FileOutputStream("path"+e.getName());
                    byte[] buffer = new byte[4096];
                    int    read=0;
                    System.out.println("writing to file");
                    while ((read=izs.read(buffer))> 0) {
                        System.out.println("1111");
                        os.write(buffer,0,read);
                    }
                    System.out.println("writing to file complete");
                    inp.close();
                    os.flush();
                    os.close();
                }
            }

1 个答案:

答案 0 :(得分:0)

路径的所有部分是否都存在?

所以在你的例子中:

/u01/app/webapps/out/pj/Create.xlsx

是否存在所有子目录?

/u01/app/webapps/out/pj

如果没有,那么尝试写作可能会失败FileNotFoundException

您应首先使用Files.creatDirectories(Path)创建目录。