org.apache.http.entity

## Class FileEntity

- java.lang.Object
- - org.apache.http.entity.AbstractHttpEntity
  - - org.apache.http.entity.FileEntity

- All Implemented Interfaces:
    Cloneable, HttpEntity

      @NotThreadSafe
      public class FileEntity
      extends AbstractHttpEntity
      implements Cloneable

  A self contained, repeatable entity that obtains its content from a file.
  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected File` | `file`

    - ### Fields inherited from class org.apache.http.entity.AbstractHttpEntity

      `chunked, contentEncoding, contentType, OUTPUT_BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileEntity(File file)`
    `FileEntity(File file, ContentType contentType)`
    `FileEntity(File file, String contentType)` Deprecated. (4.1.3) `FileEntity(File, ContentType)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `clone()`
    `InputStream` | `getContent()` Returns a content stream of the entity.
    `long` | `getContentLength()` Tells the length of the content, if known.
    `boolean` | `isRepeatable()` Tells if the entity is capable of producing its data more than once.
    `boolean` | `isStreaming()` Tells that this entity is not streaming.
    `void` | `writeTo(OutputStream outstream)` Writes the entity content out to the output stream.

    - ### Methods inherited from class org.apache.http.entity.AbstractHttpEntity

      `consumeContent, getContentEncoding, getContentType, isChunked, setChunked, setContentEncoding, setContentEncoding, setContentType, setContentType`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### file

          protected final File file

  - ### Constructor Detail

    - #### FileEntity

          @Deprecated
          public FileEntity(File file,
                               String contentType)

      Deprecated. (4.1.3) `FileEntity(File, ContentType)`

    - #### FileEntity

          public FileEntity(File file,
                    ContentType contentType)

      Since:
        4.2

    - #### FileEntity

          public FileEntity(File file)

      Since:
        4.2

  - ### Method Detail

    - #### isRepeatable

          public boolean isRepeatable()

      Description copied from interface: `HttpEntity`
      Tells if the entity is capable of producing its data more than once. A repeatable entity's getContent() and writeTo(OutputStream) methods can be called more than once whereas a non-repeatable entity's can not.
      Specified by:
        `isRepeatable` in interface `HttpEntity`
      Returns:
        true if the entity is repeatable, false otherwise.

    - #### getContentLength

          public long getContentLength()

      Description copied from interface: `HttpEntity`
      Tells the length of the content, if known.
      Specified by:
        `getContentLength` in interface `HttpEntity`
      Returns:
        the number of bytes of the content, or a negative number if unknown. If the content length is known but exceeds `Long.MAX_VALUE`, a negative number is returned.

    - #### getContent

          public InputStream getContent()
                                 throws IOException

      Description copied from interface: `HttpEntity`
      Returns a content stream of the entity. `Repeatable` entities are expected to create a new instance of `InputStream` for each invocation of this method and therefore can be consumed multiple times. Entities that are not `repeatable` are expected to return the same `InputStream` instance and therefore may not be consumed more than once.

      IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated after the `InputStream.close()` method is invoked.

      Specified by:
        `getContent` in interface `HttpEntity`
      Returns:
        content stream of the entity.
      Throws:
        `IOException` - if the stream could not be created
      See Also:
        `HttpEntity.isRepeatable()`

    - #### writeTo

          public void writeTo(OutputStream outstream)
                       throws IOException

      Description copied from interface: `HttpEntity`
      Writes the entity content out to the output stream.

      IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated when this method returns.

      Specified by:
        `writeTo` in interface `HttpEntity`
      Parameters:
        `outstream` - the output stream to write entity content to
      Throws:
        `IOException` - if an I/O error occurs

    - #### isStreaming

          public boolean isStreaming()

      Tells that this entity is not streaming.
      Specified by:
        `isStreaming` in interface `HttpEntity`
      Returns:
        `false`

    - #### clone

          public Object clone()
                       throws CloneNotSupportedException

      Overrides:
        `clone` in class `Object`
      Throws:
        `CloneNotSupportedException`

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.