zoukankan      html  css  js  c++  java
  • FileUpload之FileItem

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

  • 相关阅读:
    hdu 1305 Immediate Decodability
    hdu1247 Hat’s Words
    hdu 1251 统计难题 前缀出现次数
    hdu 3308 线段树,单点更新 求最长连续上升序列长度
    java内部类
    Fckeditor编辑器的安全问题
    Net-NTLMv1的利用
    redis提权
    windows认证过程
    c/c++中system函数在Linux和windows下区别
  • 原文地址:https://www.cnblogs.com/x_wukong/p/3724668.html
Copyright © 2011-2022 走看看