`
cy729215495
  • 浏览: 129198 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

fileupload源码分析

阅读更多

  private static String getUniqueId()
  {
    int current;
    synchronized (DefaultFileItem.class)
    {
      current = counter++;
    }
    String id = Integer.toString(current);

    if (current < 100000000)
    {
      id = ("00000000" + id).substring(id.length());
    }
    return id;
  }
  private static String getUniqueId()
  {
    int current;
    synchronized (DefaultFileItem.class)
    {
      current = counter++;
    }
    String id = Integer.toString(current);

    if (current < 100000000)
    {
      id = ("00000000" + id).substring(id.length());
    }
    return id;
  }


1.不要用""+整数来拼接字符串。调用Integer.toString高效
2.公有数据加同步保护

protected File getTempFile()
  {
    File tempDir = this.repository;
    if (tempDir == null)
    {
      tempDir = new File(System.getProperty("java.io.tmpdir"));
    }

    String fileName = "upload_" + getUniqueId() + ".tmp";

    File f = new File(tempDir, fileName);
    f.deleteOnExit();
    return f;
  }
注意删除f.deleteOnExit在jvm退出的时候删除文件

分享到:
评论

相关推荐

    commons-fileupload及源码

    源码分析对于理解其内部工作原理非常有帮助。`commons-fileupload-1.3.1-sources.jar`包含了整个项目的源代码,你可以查看`FileUpload`、`DiskFileItemFactory`、`FileItem`等类的实现细节,以及异常处理和配置逻辑...

    commons-fileupload 包及 源码

    源码分析方面,以下是一些关键点: - **解析过程**: `ServletFileUpload`类中的`parseRequest()`方法负责解析HTTP请求。它使用`FileUploadBase`的`parseRequest()`方法,该方法根据请求内容类型判断是否为多部分...

    commons-fileupload-1.3.2-src 源码

    通过分析"commons-fileupload-1.3.2-src"源码,我们可以更深入地理解其内部实现,包括解析流程、内存管理、错误处理机制等,并可能发现性能优化或定制化服务的机会。对于Java Web开发者来说,熟悉并掌握这个库能极大...

    commons-fileupload文档及源代码.rar

    **五、源代码分析** 源代码包`commons-fileupload-1.2.2-src.zip`包含了库的所有源代码,你可以深入学习其实现细节,了解如何解析多部分请求,如何管理内存和磁盘资源,以及如何处理文件上传过程中的异常。 **六、...

    commons-fileupload实现jsp上传实例(源码)

    4. **源码分析**: - `FileUploadPro`可能是一个包含整个文件上传过程的类,包括初始化FileUpload库,解析请求,保存文件,以及任何相关的错误处理和验证逻辑。 5. **最佳实践**: - 安全性:确保验证上传文件的...

    apache的fileupload详解

    这篇博客文章深入讲解了如何使用Apache Commons FileUpload库来处理文件上传请求,以及相关的源码分析。 一、Apache Commons FileUpload简介 Apache Commons FileUpload是Apache软件基金会的一个开源项目,它提供了...

    利用Common-fileupload封装的文件上传组件...附上源码.

    源码分析有助于我们理解其实现细节,而不仅仅是使用API。 在文件列表中,“FileUpload--develop”可能是项目的源码仓库或某个开发分支。这通常包含了`Common-fileupload`的源代码、构建脚本、测试用例以及其他辅助...

    commons-fileupload上传组件

    6. **源码分析**:通过查看源码,我们可以学习到如何实现多部分解析的细节,如何处理文件存储,以及如何有效地管理内存和磁盘资源。这对于优化上传性能或实现自定义逻辑非常有用。 7. **与其他组件集成**:...

    FileUpload组件的jar包和源码

    FileUpload组件是Apache Commons项目中的一个模块,主要处理HTTP协议中的文件上传功能。在Web开发中,用户可能需要上传图片、...同时,源码分析能帮助开发者深入理解文件上传机制,以便在实际应用中进行优化和扩展。

    Apache Commons fileUpload实现文件上传

    六、源码分析 Apache Commons FileUpload的源码清晰易读,可以通过阅读源码理解其内部工作机制,例如`ServletFileUpload`如何解析请求,`DiskFileItemFactory`如何管理临时文件等。 总的来说,Apache Commons ...

    commons-fileupload-1.4-src.zip

    10. **源码分析**:通过查看"commons-fileupload-1.4-src"中的源代码,开发者可以深入理解文件上传的处理流程,学习如何自定义策略以适应特定的项目需求。 总之,Apache Commons FileUpload是Java Web开发中不可或...

    commons-fileupload文件上传组件中文教程--张孝祥写的

    #### 四、源码分析 1. **设计模式**:Apache Commons FileUpload采用了工厂模式和策略模式来设计。 2. **模块划分**:组件内部模块化清晰,便于扩展和维护。 3. **异常处理**:提供了丰富的异常类型,有助于开发者...

    用commons-fileupload做成的学习例子

    【标题】"用commons-fileupload做成的学习例子"是关于如何使用Apache Commons FileUpload库进行文件上传的...通过阅读讲解、分析源码并参考官方API,开发者可以加深对文件上传流程的理解,为实际项目开发打下坚实基础。

    commons-fileupload组件上传问题

    通过以上分析,我们可以看到Apache Commons FileUpload组件在处理文件上传时的关键点。理解这些知识点对于开发和维护涉及文件上传功能的Web应用至关重要。在实际应用中,还需要考虑安全性问题,如防止恶意文件上传、...

    commons-fileupload-1.2.2

    在本文中,我们将深入探讨这个库的1.2.2版本,包括它的核心功能、使用场景、API详解以及源码分析。 一、简介与功能 Apache Commons FileUpload 1.2.2是该库的一个稳定版本,它提供了一套完善的API,用于从HTTP请求...

    使用Common-fileUpload 上传文件 读取文件内容

    读取文件内容后,你可以根据业务需求对内容进行处理,例如存储到数据库、进行文本分析等。 4. **错误处理与安全注意事项** 在处理文件上传时,务必考虑错误处理和安全性。例如,确保文件大小限制在合理范围内,...

    commons-fileupload 上传组件

    源码分析 `Commons FileUpload`的源码对于深入理解其工作原理和优化文件上传处理很有帮助。通过阅读源码,我们可以学习如何解析MIME数据流,如何管理内存与磁盘之间的切换,以及如何处理各种异常情况。 ### 7. ...

    Asp.net 2.0 用FileUpload 控件实现多文件上传

    在本文中,我们将深入探讨如何利用FileUpload控件实现多文件上传功能,并通过源代码分析来帮助理解其实现原理。 首先,我们需要明白在Asp.net 2.0中,单个FileUpload控件默认只支持单个文件的上传。为了实现多文件...

    commons-fileupload-1.2.1-all

    5. 源码分析: 对于开发者而言,`commons-fileupload-1.2.1-src.zip`提供了源代码,有助于深入理解库的工作原理。你可以研究其内部如何解析多部分请求,以及如何管理内存和临时文件。这对于定制或扩展库的功能非常...

Global site tag (gtag.js) - Google Analytics