这个类(原文class)代表从multipart表单数据post请求中获得的一个文件或者表单项(form item)。
从FileUpLoad 实例获取这个类的实例后,你既可以要求用get方法一次性获取文件的全部内容,也可以用getInputStream方法获得输入流,不需要用内存载入文件,这对于大型的文件是比较方便的。
然而这个接口没有继承javax.activation.DataSource per se(这里的per se 不知道翻成什么)(来避免很少使用的依赖),几个设计的方法是特别为设计为与那个接口同名的方法。这允许了这个接口的实现,也使用了javax.activation.DataSource,确保尽量少的额外工作。
方法
- getInputStream,返回一个输入流对象,用来获取文件的内容
- getContentType,获取文本类型的String型
- getName,获取文件在用户文件系统的名字,通常就是文件名,没有路径的信息,但是一些客户端,比如opera浏览器,会包含路径的信息。String 型
- isInMemory,true的话,表示文件内容会被内存读取。译者注:即 用get方法获取而不是用输入流。
- long getSize(),获得FileItem的size。
- byte[] get(), 获得文件的内容,以byte数组的形式。
- String getString(String encoding),用指定的编码方式以字符串的形式获取文件的内容。
- 方法7,没有输入的话,即用默认的编码方式
- void write(File file)方法,一个很方便的方法,把一个上传文件保存到硬盘,文件路径由输入的一个File型决定。用户不管你是先存到内存还是存到硬盘的临时路径。他们只想上传文件到一个文件。(换言之,这个方法的具体实现不用管,这个方法都可以做到存入一个文件这个功能)
但如果对同一个item使用多次,这个方法并不一定会成功。这允许/考虑一个特别的实现,比如,文件重命名,而不是复制所有的根本的数据,因此获得一个显著的性能好处。 - delete()删除文件item的所以根本的存储,包括有关联的临时硬盘文件。尽管当这个FileItem被垃圾回收时,这些存储会被自动删除,这个方法可以确保在一个更早的时间删除,因此保留系统的资源。
- filedName的get & set 方法。
- setFormField(boolean),指定一个FileItem是否是简单表单属性还是上传文件。
- getOutputStream,获得一个OutputStream,可以用来存储文件的内容。
继承 FileItemHeaderSupport接口