如何删除临时文件?

时间:2014-05-22 19:26:19

标签: java file jsp jsf jboss

我在jboss中指定的文件夹中保存了一些 .pdf 文件。

现在我想要的是在用户结束应用程序中的会话后删除这些文件。

1 个答案:

答案 0 :(得分:2)

只需注册HttpSessionListener并在会话被销毁时以与保存会话相同的方式删除临时文件。

只需将创建的文件/文件夹的绝对路径保留在会话中的某个位置,并删除会话销毁时的完整文件夹/文件。

的web.xml:

<web-app ...>
    <listener>
          <listener-class>com.x.y.z.MySessionListener</listener-class>
    </listener>
</web-app>

HttpSessionListener:

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class MySessionListener implements HttpSessionListener {

    @Override
    public void sessionCreated(HttpSessionEvent e) {
        System.out.println("sessionCreated");
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent e) {
        System.out.println("sessionDestroyed");
        // delete the file in the same way you have saved it there

        // String absolutePath = (String) e.getSession().getAttribute("pdfPath");
        // File file = new File(absolutePath);
        // if(file.exists()){ file.delete(); } 
    }
}

请查看Java – Delete Folder and Files