我无法写入文件

时间:2011-09-27 16:38:27

标签: java jsp cpanel

我使用tomcat5.32 + cpanel。

我的代码是:

<%
String path = application.getRealPath("");
path +="/as.txt" ;
FileOutputStream fos = new FileOutputStream(path);
fos.write("this is test ?".getBytes());
fos.flush();
fos.close();
%>

请求时出现此错误:

java.io.FileNotFoundException: /home/domainname/public_html/ROOT/as.txt (Permission denied)
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.<init>(FileOutputStream.java:179)
java.io.FileOutputStream.<init>(FileOutputStream.java:70)
org.apache.jsp.newjsp2_jsp._jspService(newjsp2_jsp.java:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

perms是0644,但我的程序无法写入自己的文件。

请帮帮我

2 个答案:

答案 0 :(得分:1)

错误非常明显,

您的许可,0644仅向拥有文件的用户添加Read/Write权限。或 使您的Tomcat用户成为所有者,或将用户包括在文件组中并应用权限0664

答案 1 :(得分:0)

1)确保尝试写入此文件的“用户”实际上具有权限。写入磁盘的JVM可能不会使用与启动JVM的用户相同的权限。

2)在尝试写入文件之前,确保该dir路径的所有步骤都存在。