Author: nick
Date: Thu Sep 11 08:48:10 2014
New Revision: 1624226
URL: http://svn.apache.org/r1624226
Log:
Patch from Daniel Bonniot from bug #56956 - Add a NPOIFSFileSystem constructor
with a FileChannel and the read-only option
Modified:
poi/trunk/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java
Modified:
poi/trunk/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java?rev=1624226&r1=1624225&r2=1624226&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java
(original)
+++ poi/trunk/src/java/org/apache/poi/poifs/filesystem/NPOIFSFileSystem.java
Thu Sep 11 08:48:10 2014
@@ -153,7 +153,8 @@ public class NPOIFSFileSystem extends Bl
* when you're done to have the underlying file closed, as the file is
* kept open during normal operation to read the data out.</p>
*
- * @param file the File from which to read the data
+ * @param file the File from which to read or read/write the data
+ * @param readOnly whether the POIFileSystem will only be used in
read-only mode
*
* @exception IOException on errors reading, or on invalid data
*/
@@ -165,7 +166,8 @@ public class NPOIFSFileSystem extends Bl
/**
* <p>Creates a POIFSFileSystem from an open <tt>FileChannel</tt>. This
uses
- * less memory than creating from an <tt>InputStream</tt>.</p>
+ * less memory than creating from an <tt>InputStream</tt>. The stream will
+ * be used in read-write mode.</p>
*
* <p>Note that with this constructor, you will need to call {@link
#close()}
* when you're done to have the underlying Channel closed, as the channel
is
@@ -181,6 +183,25 @@ public class NPOIFSFileSystem extends Bl
this(channel, null, false, false);
}
+ /**
+ * <p>Creates a POIFSFileSystem from an open <tt>FileChannel</tt>. This
uses
+ * less memory than creating from an <tt>InputStream</tt>.</p>
+ *
+ * <p>Note that with this constructor, you will need to call {@link
#close()}
+ * when you're done to have the underlying Channel closed, as the channel
is
+ * kept open during normal operation to read the data out.</p>
+ *
+ * @param channel the FileChannel from which to read or read/write the data
+ * @param readOnly whether the POIFileSystem will only be used in
read-only mode
+ *
+ * @exception IOException on errors reading, or on invalid data
+ */
+ public NPOIFSFileSystem(FileChannel channel, boolean readOnly)
+ throws IOException
+ {
+ this(channel, null, readOnly, false);
+ }
+
private NPOIFSFileSystem(FileChannel channel, File srcFile, boolean
readOnly, boolean closeChannelOnError)
throws IOException
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]