org.apache.http.entity
Class FileEntity

java.lang.Object
  extended by org.apache.http.entity.AbstractHttpEntity
      extended by org.apache.http.entity.FileEntity
All Implemented Interfaces:
Cloneable, HttpEntity

public class FileEntity
extends AbstractHttpEntity
implements Cloneable

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

Since:
4.0

Field Summary
protected  File file
           
 
Fields inherited from class org.apache.http.entity.AbstractHttpEntity
chunked, contentEncoding, contentType, OUTPUT_BUFFER_SIZE
 
Constructor Summary
FileEntity(File file)
          Creates a new instance.
FileEntity(File file, ContentType contentType)
          Creates a new instance.
FileEntity(File file, String contentType)
          Deprecated. (4.1.3) FileEntity(File, ContentType)
 
Method Summary
 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, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, 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)

Creates a new instance.

Parameters:
file - The file to serve.
contentType - The content type for the given file.

FileEntity

public FileEntity(File file,
                  ContentType contentType)
Creates a new instance.

Parameters:
file - The file to serve.
contentType - The content type for the given file.
Since:
4.2

FileEntity

public FileEntity(File file)
Creates a new instance.

Parameters:
file - The file to serve.
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–2021 The Apache Software Foundation. All rights reserved.