以下是一个尝试在该目录中创建目录和文本文件的servlet。
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String s = request.getServletContext().getRealPath("/");
PrintWriter out = response.getWriter();
FileMaker fm = new FileMaker();
fm.makeDirectoryTester();
}
在其中创建目录和文本文件的类:
public void makeDirectoryTester() {
try {
File f = new File("FlushTester/");
if(!f.exists()) {
boolean b = f.mkdir();
System.out.println("Directory Made (Inside makeDirectoryTester) --> " + b);
PrintWriter writer = new PrintWriter("FlushTester/TESTER.txt");
writer.println("This is the first statement");
writer.println("This is the second statement");
writer.println("This is the third statement");
writer.close();
}
}catch(Exception exc) {
exc.printStackTrace();
}
}
问题是布尔 f.mkdir()返回true
但我看不到创建的任何目录或其中的任何文件!这是为什么 ?我使用tomcat作为服务器。这可能是什么原因?
答案 0 :(得分:1)
如果使用File f = new File("FlushTester/");
,则该文件相对于应用程序的起点。对于tomcat,通常是bin
目录。
如果你在其他地方需要它,你应该使用绝对路径(可能以某种方式配置),或相对于tomcat的bin
目录的路径。