gpt4 book ai didi

java - 删除文件和文件夹问题

转载 作者:行者123 更新时间:2023-12-01 06:00:07 25 4
gpt4 key购买 nike

我的项目是一个使用三种技术构建的 Web 项目:

  1. 表示层的 Icefaces。

  2. 业务层的Spring。

  3. Hibernate 用于数据访问层。

我的项目部署在WebSphere 6.1上,用户可以上传文件,我使用ice:inputFile组件来处理上传过程...

第一期是:

上传过程完成后,我希望在以下路径下找到上传的文件:myWebProjectRoot/upload/"sessionId"/fileName.ext

其中“sessionId”是一个以当前 session id命名的文件夹,fileName.ex是用户上传的文件...

但我发现:文件夹“sessionId”没有创建,文件直接存储在上传文件夹中..

我的配置就像icefaces库的组件展示的配置,我将其部署在我的服务器上,并成功创建了sessionId目录....

我不知道该怎么办...请帮助我...

第二期是:

当 session 过期时,我预计 sessionId 文件夹将被删除,我修改了类 InputFileSessionCleaner 中的组件展示代码,并使其删除该文件夹及其子文件夹,从下到上递归,但有时我面临当前的问题:

某些文件无法使用我的代码删除 - 可能它们被另一个进程使用 - 因此该文件夹不会被删除,因为它的子级之一没有被删除。那么在这种情况下该怎么办...?

我脑子里有一个想法,那就是:有没有办法创建一个在服务器端后台运行的进程:此进程检查上传目录,并检查是否发现至少 60 分钟创建的任何文件 - 这是我在 web.xml 中指定的 session 超时时间 -此过程将删除此文件....

任何人都可以帮助我..每一个帮助都会受到赞赏......

最佳答案

回答你的第二个问题:

WebSphere 具有创建工作线程并根据计划安排它们启动的功能。 WebSphere 完全支持这种方法 - 使用它不会违反任何 Java EE 对线程创建的限制。

在 WebSphere 文档中搜索异步 Bean。

WebSphere 中的此功能有多种形式,其中之一是一种普遍标准化的形式,您也可能在其他供应商的应用程序服务器中找到这种形式。这里给出一些描述:http://www.ibm.com/developerworks/library/specification/j-commonj-sdowmt/index.html

关于java - 删除文件和文件夹问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com