Interface FileContent
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
DefaultFileContent
To read from a file, use the InputStream
returned by getInputStream()
.
To write to a file, use the OutputStream
returned by getOutputStream()
method. This will create the
file, and the parent folder, if necessary.
A file may have multiple InputStreams open at the same time.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes all resources used by the content, including any open stream.getAttribute
(String attrName) Gets the value of an attribute of the file's content.String[]
Lists the attributes of the file's content.Returns a read-only map of this file's attributes.Retrieves the certificates if any used to sign this file or folder.get the content info.getFile()
Returns the file which this is the content of.Returns an input stream for reading the file's content.long
Determines the last-modified timestamp of the file.Returns an output stream for writing the file's content.getOutputStream
(boolean bAppend) Returns an output stream for writing the file's content.Returns an stream for reading/writing the file's content.long
getSize()
Determines the size of the file, in bytes.boolean
hasAttribute
(String attrName) Checks if an attribute of the file's content exists.boolean
isOpen()
check if this file has open streams.void
removeAttribute
(String attrName) Removes the value of an attribute of the file's content.void
setAttribute
(String attrName, Object value) Sets the value of an attribute of the file's content.void
setLastModifiedTime
(long modTime) Sets the last-modified timestamp of the file.long
write
(OutputStream output) Writes this content to an OutputStream.long
write
(OutputStream output, int bufferSize) Writes this content to an OutputStream.long
write
(FileContent output) Writes this content to another FileContent.long
write
(FileObject file) Writes this content to another FileObject.
-
Method Details
-
getFile
Returns the file which this is the content of.- Returns:
- The FileObject this is the content of.
-
getSize
Determines the size of the file, in bytes.- Returns:
- The size of the file, in bytes.
- Throws:
FileSystemException
- If the file does not exist, or is being written to, or on error determining the size.
-
getLastModifiedTime
Determines the last-modified timestamp of the file.- Returns:
- The last-modified timestamp.
- Throws:
FileSystemException
- If the file does not exist, or is being written to, or on error determining the last-modified timestamp.
-
setLastModifiedTime
Sets the last-modified timestamp of the file. Creates the file if it does not exist.- Parameters:
modTime
- The time to set the last-modified timestamp to.- Throws:
FileSystemException
- If the file is read-only, or is being written to, or on error setting the last-modified timestamp.
-
hasAttribute
Checks if an attribute of the file's content exists.- Parameters:
attrName
- The name of the attribute.- Returns:
- true if the attribute exists, false otherwise.
- Throws:
FileSystemException
- If the file does not exist, or does not support attributes.
-
getAttributes
Returns a read-only map of this file's attributes.- Returns:
- The attribute Map.
- Throws:
FileSystemException
- If the file does not exist, or does not support attributes.
-
getAttributeNames
Lists the attributes of the file's content.- Returns:
- The names of the attributes. Never returns null;
- Throws:
FileSystemException
- If the file does not exist, or does not support attributes.
-
getAttribute
Gets the value of an attribute of the file's content.- Parameters:
attrName
- The name of the attribute. Attribute names are case insensitive.- Returns:
- The value of the attribute, or null if the attribute value is unknown.
- Throws:
FileSystemException
- If the file does not exist, or does not support attributes.
-
setAttribute
Sets the value of an attribute of the file's content. Creates the file if it does not exist.- Parameters:
attrName
- The name of the attribute.value
- The value of the attribute.- Throws:
FileSystemException
- If the file does not exist, or is read-only, or does not support attributes, or on error setting the attribute.
-
removeAttribute
Removes the value of an attribute of the file's content.- Parameters:
attrName
- The name of the attribute.- Throws:
FileSystemException
- If the file does not exist, or is read-only, or does not support attributes, or on error removing the attribute.
-
getCertificates
Retrieves the certificates if any used to sign this file or folder.- Returns:
- The certificates, or an empty array if there are no certificates or the file does not support signing.
- Throws:
FileSystemException
- If the file does not exist, or is being written.
-
getInputStream
Returns an input stream for reading the file's content.There may only be a single input or output stream open for the file at any time.
- Returns:
- An input stream to read the file's content from. The input stream is buffered, so there is no need to
wrap it in a
BufferedInputStream
. - Throws:
FileSystemException
- If the file does not exist, or is being read, or is being written, or on error opening the stream.
-
getOutputStream
Returns an output stream for writing the file's content.If the file does not exist, this method creates it, and the parent folder, if necessary. If the file does exist, it is replaced with whatever is written to the output stream.
There may only be a single input or output stream open for the file at any time.
- Returns:
- An output stream to write the file's content to. The stream is buffered, so there is no need to wrap it
in a
BufferedOutputStream
. - Throws:
FileSystemException
- If the file is read-only, or is being read, or is being written, or on error opening the stream.
-
getRandomAccessContent
Returns an stream for reading/writing the file's content.If the file does not exist, and you use one of the write* methods, this method creates it, and the parent folder, if necessary. If the file does exist, parts of the file are replaced with whatever is written at a given position.
There may only be a single input or output stream open for the file at any time.
- Parameters:
mode
- The mode to use to access the file.- Returns:
- the stream for reading and writing the file's content.
- Throws:
FileSystemException
- If the file is read-only, or is being read, or is being written, or on error opening the stream.
-
getOutputStream
Returns an output stream for writing the file's content.If the file does not exist, this method creates it, and the parent folder, if necessary. If the file does exist, it is replaced with whatever is written to the output stream.
There may only be a single input or output stream open for the file at any time.
- Parameters:
bAppend
- true if you would like to append to the file. This may not be supported by all implementations.- Returns:
- An output stream to write the file's content to. The stream is buffered, so there is no need to wrap it
in a
BufferedOutputStream
. - Throws:
FileSystemException
- If the file is read-only, or is being read, or is being written, or bAppend is true and the implementation does not support it, or on error opening the stream.
-
close
Closes all resources used by the content, including any open stream. Commits pending changes to the file.This method is a hint to the implementation that it can release resources. This object can continue to be used after calling this method.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
FileSystemException
- if an error occurs closing the file.
-
getContentInfo
get the content info. e.g. type, encoding, ...- Returns:
- the FileContentInfo
- Throws:
FileSystemException
- if an error occurs.
-
isOpen
boolean isOpen()check if this file has open streams.- Returns:
- true if the file is open, false otherwise.
-
write
Writes this content to another FileContent.- Parameters:
output
- The target OutputStream.- Returns:
- the total number of bytes written
- Throws:
IOException
- if an error occurs writing the content.- Since:
- 2.1
-
write
Writes this content to another FileObject.- Parameters:
file
- The target FileObject.- Returns:
- the total number of bytes written
- Throws:
IOException
- if an error occurs writing the content.- Since:
- 2.1
-
write
Writes this content to an OutputStream.- Parameters:
output
- The target OutputStream.- Returns:
- the total number of bytes written
- Throws:
IOException
- if an error occurs writing the content.- Since:
- 2.1
-
write
Writes this content to an OutputStream.- Parameters:
output
- The target OutputStream.bufferSize
- The buffer size to write data chunks.- Returns:
- the total number of bytes written
- Throws:
IOException
- if an error occurs writing the file.- Since:
- 2.1
-