现在的位置: 首页 > 综合 > 正文

org.apache.commons.fileupload.disk.DiskFileItemFactory

2013年08月30日 ⁄ 综合 ⁄ 共 1505字 ⁄ 字号 评论关闭

 

public class DiskFileItemFactory
extends java.lang.Object
implements FileItemFactory

The default
FileItemFactory
implementation. This implementation creates
FileItem
instances which keep their content either in memory, for smaller items, or in a temporary file on disk, for larger items. The size threshold, above which content will be stored on disk, is configurable, as is the directory in which
temporary files will be created.

If not otherwise configured, the default configuration values are as follows:

  • Size threshold is 10KB.
  • Repository is the system default temp directory, as returned by System.getProperty("java.io.tmpdir").

When using the DiskFileItemFactory, then you should consider the following: Temporary files are automatically deleted as soon as they are no longer needed. (More precisely, when the corresponding instance of
File is garbage collected.) Cleaning up those files is done by an instance of
FileCleaningTracker, and an associated thread. In a complex environment, for example in a web application, you should consider terminating this thread, for example, when your web application ends. See the section on "Resource cleanup" in the users
guide of commons-fileupload.

FileItemFactory 的默认实现类。这个实现类负责创建FileItem的实例,使得FileItem对应的文件的内容既可以保存在内存中(小文件)又可以作为临时文件保存到硬盘中(大文件)。到底多大的文件才算大文件,临时文件到底存放到硬盘中的什么目录下,都是可以通过设置来指定的。

如果没有设置,那么默认值如下所示:

。大小界限:10KB

。文件存放位置是系统的默认临时文件的存放文件夹,这个具体的值可以通过System.getProperty("java.io.tmpdir"). 获得

在使用DiskFileItemFactory的时候,有些地方你需要注意的是:临时文件在不再使用的情况下(更准确地说,就是当File实例被回收机制回收的时候),会由系统自动删除的。FileCleaningTracker负责清除这些文件以及与这些文件有关的进程。在复杂的环境下,例如在web应用中,你应该考虑关掉FileCleaningTracker的进程。对于这一点,你可以考虑参考commons-fileupload的用户手册关于"Resource
cleanup"一章。

抱歉!评论已关闭.