Class POIFSReader
- java.lang.Object
-
- org.apache.poi.poifs.eventfilesystem.POIFSReader
-
public class POIFSReader extends Object
An event-driven reader for POIFS file systems. Users of this class first create an instance of it, then use the registerListener methods to register POIFSReaderListener instances for specific documents. Once all the listeners have been registered, the read() method is called, which results in the listeners being notified as their documents are read.
-
-
Constructor Summary
Constructors Constructor Description POIFSReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
main(String[] args)
read in filesvoid
read(File poifsFile)
Read from a File and process the documents we getvoid
read(InputStream stream)
Read from an InputStream and process the documents we getvoid
read(POIFSFileSystem poifs)
Read from aPOIFSFileSystem
and process the documents we getvoid
registerListener(POIFSReaderListener listener)
Register a POIFSReaderListener for all documentsvoid
registerListener(POIFSReaderListener listener, String name)
Register a POIFSReaderListener for a document in the root directoryvoid
registerListener(POIFSReaderListener listener, POIFSDocumentPath path, String name)
Register a POIFSReaderListener for a document in the specified directoryvoid
setNotifyEmptyDirectories(boolean notifyEmptyDirectories)
Activates the notification of empty directories.
-
-
-
Method Detail
-
read
public void read(InputStream stream) throws IOException
Read from an InputStream and process the documents we get- Parameters:
stream
- the InputStream from which to read the data- Throws:
IOException
- on errors reading, or on invalid data
-
read
public void read(File poifsFile) throws IOException
Read from a File and process the documents we get- Parameters:
poifsFile
- the file from which to read the data- Throws:
IOException
- on errors reading, or on invalid data
-
read
public void read(POIFSFileSystem poifs) throws IOException
Read from aPOIFSFileSystem
and process the documents we get- Parameters:
poifs
- the POIFSFileSystem from which to read the data- Throws:
IOException
- on errors reading, or on invalid data
-
registerListener
public void registerListener(POIFSReaderListener listener)
Register a POIFSReaderListener for all documents- Parameters:
listener
- the listener to be registered- Throws:
NullPointerException
- if listener is nullIllegalStateException
- if read() has already been called
-
registerListener
public void registerListener(POIFSReaderListener listener, String name)
Register a POIFSReaderListener for a document in the root directory- Parameters:
listener
- the listener to be registeredname
- the document name- Throws:
NullPointerException
- if listener is null or name is null or emptyIllegalStateException
- if read() has already been called
-
registerListener
public void registerListener(POIFSReaderListener listener, POIFSDocumentPath path, String name)
Register a POIFSReaderListener for a document in the specified directory- Parameters:
listener
- the listener to be registeredpath
- the document path; if null, the root directory is assumedname
- the document name- Throws:
NullPointerException
- if listener is null or name is null or emptyIllegalStateException
- if read() has already been called
-
setNotifyEmptyDirectories
public void setNotifyEmptyDirectories(boolean notifyEmptyDirectories)
Activates the notification of empty directories.If this flag is activated, the
listener
receivesPOIFSReaderEvents
with nulledname
andstream
- Parameters:
notifyEmptyDirectories
- iftrue
, empty directories will be notified
-
main
public static void main(String[] args) throws IOException
read in files- Parameters:
args
- names of the files- Throws:
IOException
- if the files can't be read or have invalid content
-
-