- 浏览: 498835 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (155)
- jQuery (12)
- java基础 (21)
- hibernate错误 (2)
- myeclipse快捷键 (1)
- hibernate (5)
- javaWeb (1)
- tomcat (4)
- oracle (7)
- 用命令导入导出数据库 (1)
- ssh整合类 (2)
- struts2 (7)
- spring (0)
- html (3)
- xml操作 (1)
- linux (4)
- cad (1)
- log4j日志配置 (4)
- MyEclipse (8)
- struts1 (3)
- 正则表达式 (3)
- struts标签 (1)
- poderdesinger (1)
- javascript (10)
- linux 客户端 (2)
- webProjectProblem (4)
- sql 问题 (1)
- 文件下载问题 (1)
- js正则表达式 (1)
- java 乱码问题 (1)
- mysql (6)
- 生活随笔 (3)
- 文件上传 (3)
- 电影 (1)
- json (1)
- 理论概念 (1)
- 总结 (1)
- ssh项目错误 (2)
- sql (3)
- powerdesinger (1)
- 导入exce数据 (1)
- windows cmd命令 (1)
- weblogic (1)
- 分页功能 (1)
- ssh 问题 (1)
- 项目问题积累总结 (5)
- 发散思维 (1)
- idea (1)
最新评论
-
tecwang:
DiskFileItemFactory类 -
Yimmm:
DiskFileItemFactory类 -
qmgrx2007:
引用
DiskFileItemFactory类 -
逆风翔:
校验特殊字符中的—再校验到 含有字符mda ...
js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号 -
pineapple_zjw:
谢谢分享 学习ing
java拼接和解析json
转自:http://blog.csdn.net/chinaliuyan/article/details/7002016
将请求消息实体中的每一个项目封装成单独的DiskFileItem (FileItem接口的实现) 对象的任务
由 org.apache.commons.fileupload.FileItemFactory 接口的默认实现
org.apache.commons.fileupload.disk.DiskFileItemFactory 来完成。当上传的文件项目比较小时,直接保存在内存中(速度比较快),比较大时,以临时文件的形式,保存在磁盘临时文件夹(虽然速度慢些,但是内存资源是有限的)。
属性
1) public static final int DEFAULT_SIZE_THRESHOLD :将文件保存在内存还是磁盘临时文件夹的默认临界值,值为10240,即10kb。
2) private File repository:用于配置在创建文件项目时,当文件项目大于临界值时使用的临时文件夹,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir获取。如下代码:
System.getProperty("java.io.tmpdir");
3) private int sizeThreshold:用于保存将文件保存在内存还是磁盘临时文件夹的临界值
构造方法
1) public DiskFileItemFactory()
采用默认临界值和系统临时文件夹构造文件项工厂对象。
2) public DiskFileItemFactory(int sizeThreshold,File repository)
采用参数指定临界值和系统临时文件夹构造文件项工厂对象。
3) FileItem createItem()
根据DiskFileItemFactory相关配置将每一个请求消息实体项目创建成DiskFileItem 实例,并返回。该方法从来不需要我们亲自调用,FileUpload组件在解析请求时内部使用。
4) void setSizeThreshold(int sizeThreshold)
Apache文件上传组件在解析上传数据中的每个字段内容时,需要临时保存解析出的数据,以便在后面进行数据的进一步处理(保存在磁盘特定位置或插入数据库)。因为Java虚拟机默认可以使用的内存空间是有限的,超出限制时将会抛出“java.lang.OutOfMemoryError”错误。如果上传的文件很大,例如800M的文件,在内存中将无法临时保存该文件内容,Apache文件上传组件转而采用临时文件来保存这些数据;但如果上传的文件很小,例如600个字节的文件,显然将其直接保存在内存中性能会更加好些。
setSizeThreshold方法用于设置是否将上传文件已临时文件的形式保存在磁盘的临界值(以字节为单位的int值),如果从没有调用该方法设置此临界值,将会采用系统默认值10KB。对应的getSizeThreshold() 方法用来获取此临界值。
5) void setRepository(File repository)
setRepositoryPath方法用于设置当上传文件尺寸大于setSizeThreshold方法设置的临界值时,将文件以临时文件形式保存在磁盘上的存放目录。有一个对应的获得临时文件夹的 File getRespository() 方法。
注意:当从没有调用此方法设置临时文件存储目录时,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir 获取。如下代码:
System.getProperty("java.io.tmpdir");
Tomcat系统默认临时目录为“<tomcat安装目录>/temp/”。
发表评论
-
如何把字符串转化成整形 不用javaapi的方法
2013-07-03 15:03 1486参考 :http://blog.csdn.net/great ... -
指定java编译时的编码
2012-09-20 15:00 1443指定java编译时候的编码:javac -encoding 编 ... -
枚举类的编写和调用
2012-04-10 10:29 1202编写: public enum enumTest { ... -
response.setHeader()的用法[转载]
2012-04-01 13:54 966转自:http://www.cnblogs.com/quanj ... -
iterator 例子
2012-01-15 16:56 1041import java.util.Arrays;import ... -
System.getProperty(String key)[转]
2011-12-26 11:17 1368转自:http://i.mtime.com/zhd/blog/ ... -
在catch中使用throw,finally中的语句是否会执行?
2011-09-29 15:09 2573public class Exceptiontest{ p ... -
java冒泡排序算法 (转)
2011-09-16 20:39 1071java冒泡排序算法 面试老考这个,都背熟了 1p ... -
面试总结 不断ing
2011-09-02 18:13 836面试总结 2011/9/2 1 将两个表的结果集联合起来 ... -
java 编译器 虚拟机 解释器 即时编译器 (转)
2011-09-01 18:08 1186什么是java虚拟机: ... -
JAVA虚拟机工作原理 (转)
2011-09-01 18:07 1415JAVA虚拟机工作原理 2009-04-11 21:41 ... -
split方法的应用和去除list中相同的元素【转】
2011-08-03 10:40 1119public class testJava { publi ... -
数组转化为list【转】
2011-08-02 13:35 1290import java.util.* ;public cl ... -
便利map
2011-08-01 20:16 1837import java.util.ArrayList;impo ... -
Java注释规范{转}
2011-07-28 16:38 901Java代码规范 --注释 ... -
java 动态数组
2011-07-19 15:22 2317Java动态数组是一种可以 ... -
toString方法
2011-06-26 20:44 972public class Test { public stat ... -
遍历set
2011-06-26 20:17 1011Iterator it = set.iterator(); ... -
java 从文件中读取信息(测试过成功)
2011-06-15 16:41 1606import java.io.File;import j ... -
关于java 读取propterties 文件的疑惑 和问题的解决
2011-06-15 16:36 1155最近在重构自己的小Demo 想把自己的下Demo 变成可以配置 ...
相关推荐
DiskFileItemFactory实现文件上传FileInputStream下载.pdf
解析multipart/form-data表单,使用DiskFileItemFactory ServletFileUpload 类需要的commons-fileupload-1.3.jar和commons-io-1.2.jar包
java用DiskFileItemFactory实现文件上传 FileInputStream下载; 代码实例,测试通过
DiskFileItemFactory需要的jar包commons-fileupload-1.3.jar和commons-io-1.2.jar,用于文件上传。
FileItemFactory factory = new DiskFileItemFactory(); // 通过该工厂对象创建ServletFileUpload对象 ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); ...
上传下载所需jar包,commons-fileupload-1.3.1.jar和commons-io-2.4.jar
sevlet批量上产文件,1)获得磁盘文件条目工厂 DiskFileItemFactory 要导包 * 2) 利用 request 获取 真实路径 ,供临时文件存储,和 最终文件存储 ,这两个存储位置可不同,也可相同 * 3)对 ...
DiskFileItemFactory 是创建 FileItem 对象的工厂,这个工厂类常用方法: public void setSizeThreshold(int sizeThreshold) 设置内存缓冲区的大小,默认值为10K。当上传文件大于缓冲区大小时, fileupload组件将...
DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 dfif.setRepository(new File...
jQuery-File-Upload-9.5.7 文件上传 DiskFileItemFactory ServletFileUpload
DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(maxPostSize); try { ...
DiskFileItemFactory factory = new DiskFileItemFactory(); /**设置最大的内存大小*/ factory.setSizeThreshold(4096); /**创建一个新的文件上传操作*/ ServletFileUpload upload = new ServletFileUpload...
FileItemFactory factory = new DiskFileItemFactory(); // 处理文件上传核心类 ServletFileUpload fileUpload = new ServletFileUpload(factory); // 设置文件上传类的编码格式 fileUpload....
DiskFileItemFactory factory = new DiskFileItemFactory(); String path = request.getRealPath("/upload"); factory.setRepository(new File(path)); // 1mb factory.setSizeThreshold(1024 * 1024); ...
<% DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try {List items = upload.parseRequest(request);Iterator itr = items.iterator(); ...
最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的所有字段进行处理,不只是file字段。getName()得到文件名,getString()得到表单数据内容,isFormField...
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class FileUpload extends HttpServlet { protected void doPost...
servlet实现文件的上传和下载,使用包为: import org.apache.commons....import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;