java - 如何删除临时文件?

标签 java file jsp jsf jboss

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

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

最佳答案

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

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

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

关于java - 如何删除临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23815552/

相关文章:

javascript - 将单击 javascript 事件应用于 JSP 中的 header 而不是使用 <a> 标记

java - 函数树使用什么数据结构

java - 为什么事件通常在发送时创建?

java - 如何通过英文的 String.format 返回格式化的数字?

c - 在C中显示文本文件中的文本部分

c - 使用 FILE *删除文件

php - Laravel 重定向::withInput()

java - HTTP 状态 404 请求的资源不可用

java - httpServer执行PHP脚本

java - 将请求解释为 JSP 而不是通过 servlet