`
arron.huang
  • 浏览: 32386 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
 
阅读更多

private String fileTmpPath = "";

 private int fileSize = 100;

 private static UpLoadFile loadFile = new UpLoadFile();

 public UpLoadFile() {
 }

 public UpLoadFile getInstance() {
  return loadFile;
 }

 /**
  * 缓存上传二进制文件
  * @param request 请求url
  * @return ServletFileUpload 对象
  */
 public ServletFileUpload configUploadTerm(HttpServletRequest request) {
  FileCleaningTracker fileCleaningTracker = FileCleanerCleanup
    .getFileCleaningTracker(request.getSession()
      .getServletContext());
  DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
  
  // 设置最多只允许在内存中存储的数据,单位:字节
  diskFileItemFactory.setSizeThreshold(1024 * fileSize);
  
  // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
  diskFileItemFactory.setRepository(new File(fileTmpPath));
  
  diskFileItemFactory.setFileCleaningTracker(fileCleaningTracker);
  
  ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory);
  
  upload.setHeaderEncoding("utf-8");
  //上传文件的最大值
  upload.setSizeMax(1024 * fileSize);
  
  return upload;
 }
 
 public int upLoadFiles(HttpServletRequest request){
  ServletFileUpload fileUpload = configUploadTerm(request);
  
  try {
   List<?> list = fileUpload.parseRequest(request);
   for(int i = 0 ; i < list.size() ; i ++){
    FileItem fileItem = (FileItem) list.get(i);
    if(!fileItem.isFormField()){
     try{
      BufferedReader reader = new BufferedReader(new InputStreamReader(fileItem.getInputStream(),"gbk"));
      while(null != reader.readLine()){
       System.out.println("行记录"+reader.readLine());
      }
     }catch (Exception e) {
     }
    }else{
     String s = new String(fileItem.getString().getBytes("iso-8859-1"),"utf-8");
     System.out.println("普通文本" + fileItem.getFieldName() + "\t" + s);
    }
   }
   return 1;
  } catch (FileUploadException e) {
   e.printStackTrace();
   return  0;
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
   return 0;
  }
 }

分享到:
评论

相关推荐

    最全的common-FileUpload.jar包

    这个"最全的common-FileUpload.jar包"结合了两个关键的Apache Commons库,为开发者提供了强大的文件上传解决方案,无论是小型项目还是大型企业级应用,都能从中受益。通过深入理解和有效利用这些工具,可以极大地...

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

    每个FileItem对象代表一个上传的文件或表单字段,你可以通过它读取文件内容或获取表单字段的值。 总之,`Common-fileupload`是一个强大且灵活的工具,对于处理Web应用中的文件上传需求非常有用。通过研究提供的源码...

    common-io,common-fileupload.jar等jar包

    在Java开发中,`common...总之,`common-io`和`common-fileupload`是Java开发中的强大工具,它们简化了常见的I/O操作和文件上传处理,提高了开发效率。了解并熟练运用这些库,能帮助开发者更好地应对实际项目中的挑战。

    common-fileupload文件上传及下载

    在`MyProject`这个压缩包中,可能包含了使用`common-fileupload`进行文件上传和下载的示例代码,你可以解压后查看具体实现。通过阅读和理解代码,可以更好地掌握文件上传下载的实践应用。在实际开发中,结合源码和...

    commons-fileupload-1.2.2.jar和commons-io.jar

    在Java开发中,`commons-fileupload-1.2.2.jar` 和 `commons-io.jar` 是两个非常重要的库,它们提供了处理文件上传和输入/输出操作的强大功能。这两个库是Apache Commons项目的一部分,Apache Commons是Java社区的一...

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    3. **读取文件**:使用Commons IO库读取文件内容,将其写入到响应的输出流中。 4. **关闭流**:确保所有的流都被正确关闭,避免资源泄漏。 五、代码示例 ```java // 文件上传 public class UploadServlet extends ...

    common-fileupload&amp;common-io

    首先,通过FileUpload解析请求,获取到上传的FileItem对象,然后使用IO工具处理文件内容,如保存到服务器或数据库。对于下载,可以使用IO工具读取服务器上的文件并写入到HTTP响应中。 总的来说,`common-fileupload...

    commons-fileupload-1.2.1.jar 和commons-io-1.4.jar

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传的两个重要库,它们在Web应用中被广泛使用。这两个库分别提供了不同的功能,但在处理文件上传时常常一起使用。 `commons-fileupload-1.2.1....

    commons-fileupload-1.2.2 common-io-2.0.1

    例如,你可以用Commons FileUpload来处理文件上传请求,然后使用Commons IO来操作上传后的文件,最后通过Commons BeanUtils来处理和验证上传文件的相关属性信息。这些库的结合使用,大大提升了开发效率,减少了代码...

    commons-fileupload的优化实用类

    4. **流式处理**: `FileWrapper`可以提供读取文件内容的流,以便在不完全加载到内存的情况下进行处理,这对于大文件上传尤为有用。 5. **临时文件管理**: 可以在`FileWrapper`中实现临时文件的生命周期管理,如上传...

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

    本文档旨在通过详细解读《深入体验 JavaWeb 开发内幕—高级特性》一书中关于Apache Commons FileUpload的部分内容,帮助初学者快速掌握文件上传功能的实现。 #### 二、准备工作 1. **环境搭建**: - **Tomcat版本...

    commons-fileupload.jar和commons-io.jar

    在处理文件上传时,Commons IO库可以用来创建、移动、复制或删除文件,读取文件内容,以及进行各种类型的数据转换。例如,`FileUtils`类提供了大量的静态方法,用于执行文件和目录的操作;`IOUtils`类则提供了对输入...

    commons-fileupload-1.3.2-src 源码

    10. **与其他Apache Commons库的集成**:Apache Commons FileUpload经常与另一个Apache Commons组件——Commons IO一起使用,共同处理文件I/O操作,例如读取和写入文件。 通过分析"commons-fileupload-1.3.2-src...

    commons-fileupload文档及源代码.rar

    `common_fileupload详解.doc`文档应该提供了关于库的详细使用指南、API参考和示例代码。通过阅读文档,你可以快速掌握如何在项目中集成和使用`commons-fileupload`。 总的来说,Apache Commons FileUpload库极大地...

    common fileupload上传组件包

    例如,`FileUtils`类提供了方便的文件操作方法,而`InputStreamReader`和`BufferedReader`可以帮助读取上传文件的内容。 2. **Apache Commons FileUpload** `commons-fileupload-1.2.1.jar`是另一个关键组件,它是...

    IOUtils(commons-io-1.4.jar、commons-fileupload-1.2.1.jar等等)

    - 使用`FileUpload`时要注意安全性,防止上传恶意文件或过大文件导致服务器磁盘空间耗尽。 - 对于`IOUtils`,注意正确关闭流,尤其是在多线程环境下,确保资源的及时释放。 总之,Apache Commons IO和FileUpload...

    利用org.apache.commons.fileupload上传多个文件

    在使用 Apache Commons FileUpload 进行文件上传之前,你需要确保以下组件已经准备就绪: 1. **引入依赖**:首先,你需要下载并添加 `org.apache.commons.io` 和 `log4j` 的 JAR 包到你的项目类路径中。在本例中,`...

    文件上传和下载需要的jar包

    然后,使用`commons-io`的`FileUtils`类读取文件内容,并写入到响应的输出流中。 总的来说,`commons-fileupload`和`commons-io`这两个库为Java开发者提供了强大的文件上传和下载支持,简化了相关操作,提高了代码...

    javaWeb文件的上传下载

    我们使用了 Apache 的 common-fileupload 上传组件来实现文件上传功能,并使用 HttpServletResponse 的输出流来实现文件下载功能。通过本文的学习,读者可以了解 JavaWeb 中文件上传和下载的实现原理和方法。

Global site tag (gtag.js) - Google Analytics