FileItem类
2015-12-18 15:35
435 查看
文件上传时需要用到FileItem类,FileItem是一个接口,它的实现类是DiskFileItem。
如图为FileItem 接口中定义的方法:
1)getInputStream():
以流的形式返回上传文件的数据内容。
2)getContentType():
用于获得上传文件的类型,即表单字段元素描述头属性“Content-Type”的值。
如果是文件域,例如上传“LZG.zip”压缩包,返回application/x-zip-compressed类型;如果FileItem类对象对应的是普通表单字段,该方法将返回null。
3)getName():
用于获得文件上传字段中的文件名。
注意:IE或FireFox中获取的文件名是不一样的,IE中是绝对路径,FireFox中只是文件名。在IE中想要获取文件名需要进行字符串截取,代码如下:
String fileName = item.getName();
int index=fileName.lastIndexOf("\\");
if(index!=-1) {
fileName=fileName.substring(index+1);
}
4)isInMemory():
用来判断FileItem对象封装的数据内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false。
5)getSize():
返回该上传文件的大小(以字节为单位)。Long型。
6)getString():
getString方法用于将FileItem对象中保存的数据流内容以一个字符串返回,它有两个重载的定义形式:
public java.lang.String getString()
public java.lang.String getString(java.lang.String encoding) throws java.io.UnsupportedEncodingException
前者使用缺省的字符集编码将主体内容转换成字符串,后者使用参数指定的字符集编码将主体内容转换成字符串。如果在读取普通表单字段元素的内容时出现了中文乱码现象,请调用第二个getString方法,并为之传递正确的字符集编码名称。
7)write(File):
write方法用于将FileItem对象中保存的主体内容保存到某个指定的文件中。如果FileItem对象中的主体内容是保存在某个临时文件中,该方法顺利完成后,临时文件有可能会被清除。该方法也可将普通表单字段内容写入到一个文件中,但它主要用途是将上传的文件内容保存在本地文件系统中。
8)delete():
delete方法用来清空FileItem类对象中存放的主体内容,如果主体内容被保存在临时文件中,delete方法将删除该临时文件。
9)getFieldName():
用于返回表单标签name属性的值。如上例中<input type="text" name="name" />的value。
10)isFormField():
用于判断FileItem类对象封装的数据是一个普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回true,否则返回false。因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域。
11)getOutputStream():
以流的形式存储上传文件的内容。
如图为FileItem 接口中定义的方法:
1)getInputStream():
以流的形式返回上传文件的数据内容。
2)getContentType():
用于获得上传文件的类型,即表单字段元素描述头属性“Content-Type”的值。
如果是文件域,例如上传“LZG.zip”压缩包,返回application/x-zip-compressed类型;如果FileItem类对象对应的是普通表单字段,该方法将返回null。
3)getName():
用于获得文件上传字段中的文件名。
注意:IE或FireFox中获取的文件名是不一样的,IE中是绝对路径,FireFox中只是文件名。在IE中想要获取文件名需要进行字符串截取,代码如下:
String fileName = item.getName();
int index=fileName.lastIndexOf("\\");
if(index!=-1) {
fileName=fileName.substring(index+1);
}
4)isInMemory():
用来判断FileItem对象封装的数据内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false。
5)getSize():
返回该上传文件的大小(以字节为单位)。Long型。
6)getString():
getString方法用于将FileItem对象中保存的数据流内容以一个字符串返回,它有两个重载的定义形式:
public java.lang.String getString()
public java.lang.String getString(java.lang.String encoding) throws java.io.UnsupportedEncodingException
前者使用缺省的字符集编码将主体内容转换成字符串,后者使用参数指定的字符集编码将主体内容转换成字符串。如果在读取普通表单字段元素的内容时出现了中文乱码现象,请调用第二个getString方法,并为之传递正确的字符集编码名称。
7)write(File):
write方法用于将FileItem对象中保存的主体内容保存到某个指定的文件中。如果FileItem对象中的主体内容是保存在某个临时文件中,该方法顺利完成后,临时文件有可能会被清除。该方法也可将普通表单字段内容写入到一个文件中,但它主要用途是将上传的文件内容保存在本地文件系统中。
8)delete():
delete方法用来清空FileItem类对象中存放的主体内容,如果主体内容被保存在临时文件中,delete方法将删除该临时文件。
9)getFieldName():
用于返回表单标签name属性的值。如上例中<input type="text" name="name" />的value。
10)isFormField():
用于判断FileItem类对象封装的数据是一个普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回true,否则返回false。因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域。
11)getOutputStream():
以流的形式存储上传文件的内容。
相关文章推荐
- android bitmap compress(图片压缩)
- 剑指offer系列之五十七:二叉树的下一个节点
- 关于SearchView的一些小细节
- oauth2.0认证和授权原理
- Git简易入门教程
- 如何使用 Idea 远程调试 Java 代码
- 移动webapp页面适配方案
- spring mvc+shiro +cas +spring-session 的通用权限管理系统
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 程序集重新定向与指定加载程序集时公共语言运行时搜索的子目录。
- iOS中写一个完整的单例
- 路线
- Eclipse快捷键
- Android ContentProvider和Uri详解 (绝对全面)
- 【- -】:quick learn
- python与zmq系列(6)
- 安装redis
- 常用代码:收集设备信息+有无SD卡+软键盘+Home,后台运行+状态栏高度+标题栏(ActionBar)高+SIM卡+网路
- easy ui datagrid 从编辑框中获取值
- Android PullToRefresh 分析之二、UI结构