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 voidmain(String[] args)read in filesvoidread(File poifsFile)Read from a File and process the documents we getvoidread(InputStream stream)Read from an InputStream and process the documents we getvoidread(POIFSFileSystem poifs)Read from aPOIFSFileSystemand process the documents we getvoidregisterListener(POIFSReaderListener listener)Register a POIFSReaderListener for all documentsvoidregisterListener(POIFSReaderListener listener, String name)Register a POIFSReaderListener for a document in the root directoryvoidregisterListener(POIFSReaderListener listener, POIFSDocumentPath path, String name)Register a POIFSReaderListener for a document in the specified directoryvoidsetNotifyEmptyDirectories(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 aPOIFSFileSystemand 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
listenerreceivesPOIFSReaderEventswith nullednameandstream- 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
-
-