0

Not Able to create file on my linux server working good on my local test file. please help me out with this i dont know what is happening the dir exist but the html dont exist it should be created from the code.

Thu Oct 22 03:04:06 PDT 2015============ fileNameBzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html
    Thu Oct 22 03:04:06 PDT 2015============ dirFileName/home/bms/html/webversion/BzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html
    java.io.IOException: No such file or directory
            at java.io.UnixFileSystem.createFileExclusively(Native Method)
            at java.io.File.createNewFile(File.java:883)
            at com.PMSystems.CampaignManager.createWebVersion(CampaignManager.java:80)
            at com.PMSystems.api.APICommandManager.executeCreateCampaignCommand(APICommandManager.java:1057)
            at com.PMSystems.api.APICommandManager.executeOneToOneEmailCampaignCommand(APICommandManager.java:1293)
            at com.PMSystems.api.APICommandManager.proccessCommand(APICommandManager.java:283)
            at com.PMSystems.servlets.APIServlet.doServices(APIServlet.java:181)
            at com.PMSystems.servlets.APIServlet.doPost(APIServlet.java:195)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
            at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
            at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
            at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
            at com.PMSystems.servlets.APIFilter.doFilter(APIFilter.java:56)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
            at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
            at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
            at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
            at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
            at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
            at java.lang.Thread.run(Thread.java:662)

My code :

File file = new File(dirFileName);
        file.delete();
        file.createNewFile();
        DataOutputStream dataOut = new DataOutputStream(new FileOutputStream(file));
        dataOut.writeBytes(view);
Fazeen Ahmad
  • 63
  • 2
  • 12
  • 1
    Look at the error, is telling you that `dirFileName/home/bms/html/webversion/BzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html` does not exist. Check if the path is correct. – Diogo Rocha Oct 22 '15 at 10:48
  • Possible duplicate: http://stackoverflow.com/questions/7469018/cannot-make-file-java-io-ioexception-no-such-file-or-directory – Albert Oct 22 '15 at 10:50
  • This is orignal path and it exist **/home/bms/html/webversion/** the **dirFileName** is not attached with it its just printed using print statement – Fazeen Ahmad Oct 22 '15 at 10:51
  • The exception message states that this directory path `/home/bms/html/webversion` does not exist on the machine where the Tomcat is running. – SubOptimal Oct 22 '15 at 12:13

1 Answers1

0

Two common problems that can lead to problems when transitioning from a dev machine(usually Windows) to a linux server are

-Case sensitivity. On a linux server tou should check that your paths are also valid case insensitive. Eg if tou have a folder in the filesystem named dirfilename and your java path is "dirFileName" this would work on windows but not on a linux server.

-File permissions. The jvm running your program could be run by a user that does not have permissions to the path you are trying to access. You can get more info on how a process is running using the 'ps aux' command.

Giorgos Gaganis
  • 635
  • 7
  • 8