org.apache.solr.common.util

## Class ContentStreamBase.FileStream

- java.lang.Object
- - org.apache.solr.common.util.ContentStreamBase
  - - org.apache.solr.common.util.ContentStreamBase.FileStream

All Implemented Interfaces:
  ContentStream

Enclosing class:
  ContentStreamBase

    public static class ContentStreamBase.FileStream
    extends ContentStreamBase

Construct a `ContentStream` from a `File`

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.solr.common.util.ContentStreamBase

`ContentStreamBase.FileStream, ContentStreamBase.StringStream, ContentStreamBase.URLStream`

### Field Summary

### Fields inherited from class org.apache.solr.common.util.ContentStreamBase

`contentType, DEFAULT_CHARSET, name, size, sourceInfo`

### Constructor Summary

Constructors
Constructor and Description
`ContentStreamBase.FileStream(File f)`

### Method Summary

Methods
`String` `getContentType()`
`InputStream` `getStream()` Get an open stream.

### Methods inherited from class org.apache.solr.common.util.ContentStreamBase

`getCharsetFromContentType, getName, getReader, getSize, getSourceInfo, setContentType, setName, setSize, setSourceInfo`

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

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

### Constructor Detail

#### ContentStreamBase.FileStream

    public ContentStreamBase.FileStream(File f)

### Method Detail

#### getContentType

    public String getContentType()

Specified by:
  `getContentType` in interface `ContentStream`
Overrides:
  `getContentType` in class `ContentStreamBase`

#### getStream

    public InputStream getStream()
                          throws IOException

Description copied from interface: `ContentStream`
Get an open stream. You are responsible for closing it. Consider using something like:

       InputStream stream = stream.getStream();
       try {
         // use the stream...
       }
       finally {
         IOUtils.closeQuietly(stream);
       }

Only the first call to `getStream()` or `getReader()` is guaranteed to work. The runtime behavior for additional calls is undefined. Note: you must call `getStream()` or `getReader()` before the attributes (name, contentType, etc) are guaranteed to be set. Streams may be lazy loaded only when this method is called.

Throws:
  `IOException`