转自:http://asialee.iteye.com/blog/706079

FileItem类主要是封装了一个File Item或者是FormItem,它的主要的方法如下,需要说明的是对于FormItem类型的,getName会得到null,getContentType会得到null,如果是FileItem类型的,getName会得到文件的全路径,getContentType会得到文件的类型。 然后以前在使用的时候 因为是数据是直接从InputStream里面读取的,现在看了代码实现,发现是如果数据在内存里面,则直接返回,如果数据不在内存里面,则再读取一 下文件,然后将数据返回。

FileItem类主要是定义了接口,这些都是一些比较常见的操作。DiskFileItem类是它的实现,也是平常默认返回的FileItem类型,里面感觉比较值得注意的是write函数,它可以直接将数据写入到指定的文件里面去。但是对于在内存中的数据则是可以写无数次均是可以的,但如果数据不在内存中,则里面的实现是先尝试使用rename操作,如果失败的话再尝试着采用copy流的形式来进行。但是一般情况下rename操作都是可以成功的,所以在这个操作被调用后temp里面的文件很可能就不在了,所以调用它时要特别小心。

DefaultFileItem类则是完全继承DiskFileItem这个类,只有构造函数,其他则没有从新实现,所以这个感觉很没有必要,Fileupload也将它设置为Deprecated。

最新文章

  1. ASP.NET - Web API,从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法
  2. tomcat 配置项目指定域名
  3. ASP.NET连接数据库时,提示“用户 'sa' 登录失败原因: 未与信任 SQL Server 连接相关联
  4. PowerDesigner 15.2入门学习 一
  5. Oracle Essbase入门系列(四)
  6. 微软职位内部推荐-Senior Development Engineer
  7. .NET 4.0中的泛型的协变和逆变
  8. 关于Java文件删除的操作
  9. cocos2d-x使用DragonBones动画
  10. 【C语言】测试系统各数据类型大小代码
  11. Database Initialization Parameters for Oracle E-Business Suite Release 12 (文档 ID 396009.1)
  12. mysql Explain 性能分析关键字
  13. C#代码总结04---通过创建临时表DataTable进行临时编辑删除
  14. MySQL之命令提示符
  15. easyui combox 手动添加项
  16. Dubbo的原理以及详细原理、配置
  17. PHP 如何创建守护(daemon)进程
  18. C#编程(六十四)----------并行扩展
  19. Multi-label && Multi-label classification
  20. (二) ffmpeg filter学习--混音实现

热门文章

  1. TCP的那些事儿(下)
  2. xss之全面剖析
  3. 一机双mysql的安装和启动注意事项目
  4. CruiseControl.NET学习总结(转载)
  5. C++_Eigen函数库用法笔记——The Array class and Coefficient-wise operations
  6. MVC中使用Tuple完成匿名类数据存储
  7. javafx之CSS初探
  8. Android Studio-AndroidStudio目录结构
  9. Windows环境下 Node和NPM个性安装
  10. OpenSwitch操作系统成为Linux基金会官方项目