Я не могу записать в файл - PullRequest
0 голосов
/ 27 сентября 2011

я использую 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)

Пермь 0644, но моя программа не может записывать в собственные файлы.

пожалуйста, помогите мне

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Ошибка вполне понятна, у вас нет есть права записи в файл.

Ваше разрешение, 0644 добавляет Read/Write права только пользователю , владеющему файлом.Либо сделайте своего пользователя Tomcat владельцем, либо включите пользователя в группу файлов и примените разрешение 0664.

0 голосов
/ 27 сентября 2011

1) Убедитесь, что «пользователь», который пытается записать в этот файл, действительно имеет разрешения. Запись JVM на диск может не использовать те же разрешения, что и у пользователя, запустившего JVM.

2) Убедитесь, что все шаги этого пути к каталогу действительно существуют, прежде чем пытаться выполнить запись в файл.

...