public class POIFSFileSystem extends Object implements POIFSViewable
| Modifier and Type | Field and Description | 
|---|---|
private List | 
_documents  | 
private PropertyTable | 
_property_table  | 
private DirectoryNode | 
_root  | 
private int | 
bigBlockSize  | 
private RandomAccessInputStream | 
stream  | 
| Constructor and Description | 
|---|
POIFSFileSystem()
Constructor, intended for writing 
 | 
POIFSFileSystem(RandomAccessInputStream stream,
               int size)
Create a POIFSFileSystem from an InputStream 
 | 
| Modifier and Type | Method and Description | 
|---|---|
(package private) void | 
addDirectory(DirectoryProperty directory)
add a new DirectoryProperty 
 | 
(package private) void | 
addDocument(POIFSDocument document)
add a new POIFSDocument 
 | 
DirectoryEntry | 
createDirectory(String name)
create a new DirectoryEntry in the root directory 
 | 
DocumentEntry | 
createDocument(RandomAccessInputStream stream,
              String name)
Create a new document to be added to the root directory 
 | 
DocumentEntry | 
createDocument(String name,
              int size,
              POIFSWriterListener writer)
create a new DocumentEntry in the root entry; the data will be
 provided later 
 | 
DocumentInputStream | 
createDocumentInputStream(String documentName)
open a document in the root entry's list of entries 
 | 
DirectoryEntry | 
getRoot()
get the root entry 
 | 
String | 
getShortDescription()
Provides a short description of the object, to be used when a
 POIFSViewable object has not provided its contents. 
 | 
Object[] | 
getViewableArray()
Get an array of objects, some of which may implement
 POIFSViewable 
 | 
Iterator | 
getViewableIterator()
Get an Iterator of objects, some of which may implement
 POIFSViewable 
 | 
static void | 
main(String[] args)
read in a file and write it back out again 
 | 
boolean | 
preferArray()
Give viewers a hint as to whether to call getViewableArray or
 getViewableIterator 
 | 
private void | 
processProperties(BlockList small_blocks,
                 BlockList big_blocks,
                 Iterator properties,
                 DirectoryNode dir)  | 
(package private) void | 
remove(EntryNode entry)
remove an entry 
 | 
void | 
writeFilesystem(OutputStream stream)
Write the filesystem out 
 | 
private PropertyTable _property_table
private List _documents
private DirectoryNode _root
private int bigBlockSize
private RandomAccessInputStream stream
public POIFSFileSystem()
public POIFSFileSystem(RandomAccessInputStream stream, int size) throws IOException
stream - the InputStream from which to read the dataIOException - on errors reading, or on invalid datapublic DocumentEntry createDocument(RandomAccessInputStream stream, String name) throws IOException
stream - the InputStream from which the document's data
               will be obtainedname - the name of the new POIFSDocumentIOException - on error creating the new POIFSDocumentpublic DocumentEntry createDocument(String name, int size, POIFSWriterListener writer) throws IOException
name - the name of the new DocumentEntrysize - the size of the new DocumentEntrywriter - the writer of the new DocumentEntryIOExceptionpublic DirectoryEntry createDirectory(String name) throws IOException
name - the name of the new DirectoryEntryIOException - on name duplicationpublic void writeFilesystem(OutputStream stream) throws IOException
stream - the OutputStream to which the filesystem will be
               writtenIOException - thrown on errors writing to the streampublic static void main(String[] args) throws IOException
args - names of the files; arg[ 0 ] is the input file,
             arg[ 1 ] is the output fileIOExceptionpublic DirectoryEntry getRoot()
public DocumentInputStream createDocumentInputStream(String documentName) throws IOException
documentName - the name of the document to be openedIOException - if the document does not exist or the
            name is that of a DirectoryEntryvoid addDocument(POIFSDocument document)
document - the POIFSDocument being addedvoid addDirectory(DirectoryProperty directory)
directory - the DirectoryProperty being addedvoid remove(EntryNode entry)
entry - to be removedprivate void processProperties(BlockList small_blocks, BlockList big_blocks, Iterator properties, DirectoryNode dir) throws IOException
IOExceptionpublic Object[] getViewableArray()
getViewableArray in interface POIFSViewablepublic Iterator getViewableIterator()
getViewableIterator in interface POIFSViewablepublic boolean preferArray()
preferArray in interface POIFSViewablepublic String getShortDescription()
getShortDescription in interface POIFSViewableCopyright © 2015 Open Microscopy Environment