# Class: com.pnfsoftware.jeb.core.input.FileInput

An input backed by a file. Entries in zip archives are also supported and must be addressed with a bang, e.g. `/some/path/file.zip!a/b/c/data.bin`.

## Constructor: FileInput
- parameter: `file`, type: `java.io.File`


## Constructor: FileInput
- parameter: `file`, type: `java.io.File`
- parameter: `hardFail`, type: `boolean`


## Constructor: FileInput
- parameter: `file`, type: `java.io.File`
- parameter: `hardFail`, type: `boolean`
- parameter: `readHeader`, type: `boolean`


## Constructor: FileInput
- parameter: `path`, type: `java.lang.String`


## Constructor: FileInput
- parameter: `path`, type: `java.lang.String`
- parameter: `hardFail`, type: `boolean`


## Constructor: FileInput
- parameter: `path`, type: `java.lang.String`
- parameter: `hardFail`, type: `boolean`
- parameter: `readHeader`, type: `boolean`


## Static Field: SER_FLAG_FULL_PERSISTENCE
Type: `int`

Constant value: `1`
Description: This flag indicates that the serialization of this object should include a full bytes copy of the underlying file

## Method: canRead
- return type: `boolean`


## Method: close


## Method: getChannel
- return type: `java.nio.channels.SeekableByteChannel`


## Method: getCurrentSize
- return type: `long`


## Method: getFile
- return type: `java.io.File`

Description: Retrieve the input file.
return: the input file, null if the input is invalid

## Method: getHeader
- return type: `java.nio.ByteBuffer`


## Method: getName
- return type: `java.lang.String`


## Method: getPath
- return type: `java.lang.String`

Description: Retrieve the path to the input file.
return: 

## Method: getPathBase
- return type: `java.lang.String`

Description: 
return: may be null

## Method: getPersistedPath
- return type: `java.lang.String`

Description: Return the path element that would be persisted if this element is serialized.
return: may be null; may differ from [#getPath()](#getPath())

## Method: getStream
- return type: `java.io.InputStream`


## Method: rebase
- parameter: `base`, type: `java.lang.String`
- return type: `boolean`

Description: Force a new base and reopen the file. The input must not have a base and the current path must not be an absolute path for this method to succeed. \(If that is the case, [#setBase(String)](#setBase(String)) should be used instead.\)
parameter: base: the forced new base
return: success indicator

## Method: setBase
- parameter: `base`, type: `java.lang.String`
- return type: `boolean`

Description: Set the base for this input, assuming it is referring to a valid file \(i.e. [#getFile()](#getFile()) is non\-null\).
parameter: base: the new base; null to remove any existing base
return: success indicator

## Method: setFile
- parameter: `file`, type: `java.io.File`


## Method: toString
- return type: `java.lang.String`


