尝试在Linux上使用java文件io创建文件?
无法在linux服务器上创建文件,无法在本地测试文件上正常工作。请帮我解决这个问题我不知道发生了什么dir-exist但是html-not-exist它应该从代码中创建尝试在Linux上使用java文件io创建文件?,java,linux,file,io,Java,Linux,File,Io,无法在linux服务器上创建文件,无法在本地测试文件上正常工作。请帮我解决这个问题我不知道发生了什么dir-exist但是html-not-exist它应该从代码中创建 Thu Oct 22 03:04:06 PDT 2015============ fileNameBzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html Thu Oct 22 03:04:06 PDT 2015============ dirFileName/home/bms/html/w
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);
从开发人员机器(通常是Windows)过渡到linux服务器时可能导致问题的两个常见问题是 -区分大小写。在linux服务器上,tou应该检查路径是否也有效,不区分大小写。例如,如果文件系统中有一个名为dirfilename的文件夹,并且您的java路径是“dirfilename”,那么这将在windows上工作,但在linux服务器上不工作 -文件权限。运行您的程序的jvm可能由对您尝试访问的路径没有权限的用户运行。 您可以使用
“ps aux”命令。查看错误,它告诉您
dirFileName/home/bms/html/webversion/BzAEqwsEk20Fk21Pl30Qj33Ss26Aj17BcdDZrt.html
不存在。检查路径是否正确。可能重复:这是原始路径,它存在/home/bms/html/webversion/dirFileName未随附其刚刚使用print语句打印。异常消息表明,运行Tomcat的计算机上不存在此目录路径/home/bms/html/webversion
。