Package org.apache.poi.poifs.filesystem
Class EntryUtils
- java.lang.Object
-
- org.apache.poi.poifs.filesystem.EntryUtils
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
areDirectoriesIdentical(DirectoryEntry dirA, DirectoryEntry dirB)
Checks to see if the two Directories hold the same contents.static boolean
areDocumentsIdentical(DocumentEntry docA, DocumentEntry docB)
Compares twoDocumentEntry
instances of a POI file system.static void
copyNodeRecursively(Entry entry, DirectoryEntry target)
Copies an Entry into a target POIFS directory, recursivelystatic void
copyNodes(DirectoryEntry sourceRoot, DirectoryEntry targetRoot)
Copies all the nodes from one POIFS Directory to anotherstatic void
copyNodes(POIFSFileSystem source, POIFSFileSystem target)
Copies all nodes from one POIFS to the otherstatic void
copyNodes(POIFSFileSystem source, POIFSFileSystem target, List<String> excepts)
Copies nodes from one POIFS to the other, minus the excepts.
-
-
-
Method Detail
-
copyNodeRecursively
@Internal public static void copyNodeRecursively(Entry entry, DirectoryEntry target) throws IOException
Copies an Entry into a target POIFS directory, recursively- Throws:
IOException
-
copyNodes
public static void copyNodes(DirectoryEntry sourceRoot, DirectoryEntry targetRoot) throws IOException
Copies all the nodes from one POIFS Directory to another- Parameters:
sourceRoot
- is the source Directory to copy fromtargetRoot
- is the target Directory to copy to- Throws:
IOException
-
copyNodes
public static void copyNodes(POIFSFileSystem source, POIFSFileSystem target) throws IOException
Copies all nodes from one POIFS to the other- Parameters:
source
- is the source POIFS to copy fromtarget
- is the target POIFS to copy to- Throws:
IOException
-
copyNodes
public static void copyNodes(POIFSFileSystem source, POIFSFileSystem target, List<String> excepts) throws IOException
Copies nodes from one POIFS to the other, minus the excepts. This delegates the filtering work toFilteringDirectoryNode
, so excepts can be of the form "NodeToExclude" or "FilteringDirectory/ExcludedChildNode"- Parameters:
source
- is the source POIFS to copy fromtarget
- is the target POIFS to copy toexcepts
- is a list of Entry Names to be excluded from the copy- Throws:
IOException
-
areDirectoriesIdentical
public static boolean areDirectoriesIdentical(DirectoryEntry dirA, DirectoryEntry dirB)
Checks to see if the two Directories hold the same contents. For this to be true ...- they must have entries with the same names
- no entries in one but not the other
- the size+contents of each entry must match
- the storage classid of the directories must match
FilteringDirectoryNode
-
areDocumentsIdentical
public static boolean areDocumentsIdentical(DocumentEntry docA, DocumentEntry docB) throws IOException
Compares twoDocumentEntry
instances of a POI file system. Documents that are not property set streams must be bitwise identical. Property set streams must be logically equal.(Their parent directories are not checked)
- Throws:
IOException
-
-