2015-10-22 2 views
0

Невозможно создать файл на моем Linux-сервере, хорошо работающий в локальном тестовом файле. пожалуйста, помогите мне с этим, я не знаю, что происходит с dir, но html не существует, он должен быть создан из кода.Пытается создать файл на Linux с помощью java-файла?

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) 

Мой код:

File file = new File(dirFileName); 
     file.delete(); 
     file.createNewFile(); 
     DataOutputStream dataOut = new DataOutputStream(new FileOutputStream(file)); 
     dataOut.writeBytes(view); 
+1

Посмотрите на ошибку, сообщите, что 'dirFileName/home/bms/html/webversion/BzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html' не существует. Проверьте правильность пути. –

+0

Возможный дубликат: http://stackoverflow.com/questions/7469018/cannot-make-file-java-io-ioexception-no-such-file-or-directory – Albert

+0

Это путь orignal, и он существует **/home/bms/html/webversion/** ** dirFileName ** не прикреплен к нему, его просто напечатано с использованием оператора печати –

ответ

0

Две общие проблемы, которые могут привести к возникновению проблем при переходе от Dev машины (обычно Windows) на сервер Linux являются

-случае чувствительность. На сервере linux tou следует проверить, что ваши пути также действительны без учета регистра. Например, если у вас есть папка в файловой системе с именем dirfilename, а ваш путь к java - это «dirFileName», это будет работать на окнах, но не на сервере linux.

-Дополнительные разрешения. Программа jvm, запускающая вашу программу, может запускаться пользователем, который не имеет прав доступа к пути, к которому вы пытаетесь получить доступ. Вы можете получить дополнительную информацию о том, как выполняется процесс, используя команду «ps aux» .