从servlet尝试时,我没有看到创建的目录。这是为什么?

时间:2013-01-30 14:14:31

标签: java tomcat servlets

以下是一个尝试在该目录中创建目录和文本文件的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作为服务器。这可能是什么原因?

1 个答案:

答案 0 :(得分:1)

如果使用File f = new File("FlushTester/");,则该文件相对于应用程序的起点。对于tomcat,通常是bin目录。

如果你在其他地方需要它,你应该使用绝对路径(可能以某种方式配置),或相对于tomcat的bin目录的路径。