使用commons-fileupload.jar的几个问题.

在使用commons-fileupload.jar包进行文件的上传时的几个问题.

是使用DiskFileUpload好还是使用ServletFileupload好?

这两个类有什么区别?

另外用ServletFileupload上传文件时,如何限制文件的大小,限制上传文件的类型?

如果要对上传文件进行重命名,怎么重命名?

看了那些文档,但还不是很明白,希望高手多指点....
问题补充:
现在最主要的问题是如何对上传的文件进行重命名?

ServletFileUpload ,之前的版本好像是DiskFileUpload,这个已经被Deprecated了,
[code="java"]DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload fu=new ServletFileUpload(factory);
//上传最大200MB
fu.setSizeMax(200*1024*1024);
//fu.setHeaderEncoding("UTF-8");
factory.setSizeThreshold(1024*1024);
//超过内存阀值就保存到temp目录,这里设为系统缓存路径
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
try {
List fileItem = fu.parseRequest(request);

        for(Iterator iter=fileItem.iterator();iter.hasNext();){
            FileItem it=(FileItem)iter.next();
            if(!it.isFormField()){

                String fileName=it.getName();
                System.out.println(fileName);
                File f=new File(folder+fileName);
                it.write(f);
            }else{
                if(it.getFieldName().equals("folder"))
                    folder=it.getString();

            }

        }
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        }[/code]