关于JSP临时文件

关于JSP临时文件

我想实现从数据库读取图片,然后在网页上面显示的功能。
我选用的方法是先将读出的数据生成临时图片文件,然后再显示,
File ff = new File("f://");
File f2 = File.createTempFile("hello", ".jpeg", ff);
f2.deleteOnExit();
但是发现那个临时图片并没有用完就删除,只有我停止了TOMCAT服务器他才删除了,
如果用 f2.delete(); 也没起作用

这样的话如果服务器一直开着,那么临时文件不就越来越多了?
我这样做有错吗?有没有简洁高效的方法?
生成一个文件夹,然后在情空文件夹

package com.ld.xnh.util;

import java.io.File;
/**
* 删除指定目录下全部文件和目录
* @param filePath 需删除的文件目录路径
*/

public class DelFile{ 

  public static void delAllFile(String filePath)
  {
      /**
        * 指定删除目录路径构造一个文件对象
        */
      File file = new File(filePath);
     
      File[] fileList = file.listFiles();
      /**
        * 初始化子目录路径
        */
      String dirPath = null;
     
      if(fileList != null)
          for(int i = 0 ; i < fileList.length; i++)
          {
              /**
                * 如果是文件就将其删除
                */
              if(fileList[i].isFile())
                  fileList[i].delete();
              /**
                * 如果是目录,那么将些目录下所有文件删除后再将其目录删除,
                */
              if(fileList[i].isDirectory()){ 
                 
                  dirPath = fileList[i].getPath();
                  //递归删除指定目录下所有文件
                  delAllFile(dirPath);
              }
          }
      /**
        * 删除给定根目录
      */
      file.delete();
  }
}
引用楼主 after80 的帖子:
我想实现从数据库读取图片,然后在网页上面显示的功能。
我选用的方法是先将读出的数据生成临时图片文件,然后再显示,
File ff = new File("f://");
File f2 = File.createTempFile("hello", ".jpeg", ff);
f2.deleteOnExit();
但是发现那个临时图片并没有用完就删除,只有我停止了TOMCAT服务器他才删除了,
如果用 f2.delete(); 也没起作用

这样的话如果服务器一直开着,那么临时文件不就越来越多了?
我这样…

只要保证生成的图片临时文件不重复就行了!
你的做法不是很合逻辑。

这样比较清晰,也精确的可控制:

1、生成图片。
2、客户端下载图片。
3、定期清除临时文件。可以根据时间戳删除,如过期1天的。


deleteOnExit....不可靠吧。