转自: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。

FileUpload之FileItem的更多相关文章

  1. FileUpload之FileItem类的常用方法

    http://blog.csdn.net/chinaliuyan/article/details/7002014

  2. Struts的FormFile与Commons-FileUpload控件使用心得

    转自: http://www.iteye.com/topic/212566 前一段时间刚来公司,看到一个项目中以前有人写的struts代码.是使用了FormFile来处理关于文件上传的模块.但是用力一 ...

  3. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  4. FileUpload组件

    package com.itheima.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IO ...

  5. FileUpload实现文件上传(包含多文件)

    package com.hzml.serve; import java.io.File; import java.io.IOException; import java.io.PrintWriter; ...

  6. Apache Commons fileUpload实现文件上传之一

      需要两个jar包: commons-fileupload.jar Commons IO的jar包(本文使用commons-io-2.4.jar) 利用Servlet来实现文件上传. package ...

  7. java上传组件FileUpload

    如果表单中有文件要上传,也就是有<input type="file" name="name"/> 就需要在form标签中添加enctype=&quo ...

  8. Spring MVC使用commons fileupload实现文件上传功能

    通过Maven建立Spring MVC项目,引入了Spring相关jar依赖. 1.为了使用commons fileupload组件,需要在pom.xml中添加依赖: <properties&g ...

  9. Apache FileUpload实现文件上传

    今天,我来介绍一个Apache FileUpload这个插件的使用. 首先,到官网下载相关jar包点击这里下载,这里提供是v1.2. 1.在项目中导入相关jar包commons-fileupload- ...

随机推荐

  1. 面试题52:缺少i的乘积数组

    vector<int> multiply(const vector<int>& A) { int len = A.size(); vector<); result ...

  2. SQL防注入程序

    1.在Global.asax.cs中写入: protected void Application_BeginRequest(Object sender,EventArgs e){      SqlIn ...

  3. CSS打造经典鼠标触发显示选项

    650) this.width=650;" border="0" alt="" src="http://img1.51cto.com/att ...

  4. Javascript输出表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Android SDK安装教程

    1.下载安装JDK(java 开发套件),天空软件站下载http://www.skycn.com/soft/3116.html(或 到java官网下载),下载后双击安装即可. 2.下载android ...

  6. 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

    一. AES对称加密: AES加密 分组 二. 分组密码的填充 分组密码的填充 e.g.: PKCS#5填充方式 三. 流密码:   四. 分组密码加密中的四种模式: 3.1 ECB模式 优点: 1. ...

  7. dedecms如何随机调用指定分类下的文章到网站首页

    dedecms是全静态的,有时会因为其他事情好几天没写文章推荐到首页,那样对se不是很友好.原本ytkah是想在网站首页上半部分调用几篇id从200到500的文章随机展示的,这样每次更新首页给se的赶 ...

  8. 十条nmap常用的扫描命令

    NMap也就是Network Mapper,nmap是在网络安全渗透测试中经常会用到的强大的扫描器,功能之强大,不言而喻.下面介绍一下它的几种扫描命令.具体的还是得靠大家自己学习,因为实在太强大了. ...

  9. 转:PCL+VS2010环境配置

    1.下载 http://www.pointclouds.org/downloads/windows.html出下载PCL完全安装包1.6.0 all-in-one-installer,我的电脑是32位 ...

  10. 原生Android动作

    ACTION_ALL_APPS:打开一个列出所有已安装应用程序的Activity.通常,此操作又启动器处理. ACTION_ANSWER:打开一个处理来电的Activity,通常这个动作是由本地电话拨 ...