Slow input stream patch, bug 13478
Thanks Tony Chao and Chris Nokleberg git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/branches/REL_2_BRANCH@353277 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
250442a0a2
commit
02eaa94535
@ -62,6 +62,7 @@ import java.io.OutputStream;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.apache.poi.poifs.common.POIFSConstants;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.util.IntegerField;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.util.LittleEndianConsts;
|
||||
@ -106,7 +107,7 @@ public class DocumentBlock
|
||||
throws IOException
|
||||
{
|
||||
this();
|
||||
int count = stream.read(_data);
|
||||
int count = IOUtils.readFully(stream, _data);
|
||||
|
||||
_bytes_read = (count == -1) ? 0
|
||||
: count;
|
||||
|
@ -60,6 +60,7 @@ import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
import org.apache.poi.poifs.common.POIFSConstants;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.util.IntegerField;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.util.LittleEndianConsts;
|
||||
@ -104,7 +105,7 @@ public class HeaderBlockReader
|
||||
throws IOException
|
||||
{
|
||||
_data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
|
||||
int byte_count = stream.read(_data);
|
||||
int byte_count = IOUtils.readFully(stream, _data);
|
||||
|
||||
if (byte_count != POIFSConstants.BIG_BLOCK_SIZE)
|
||||
{
|
||||
|
@ -56,6 +56,7 @@
|
||||
package org.apache.poi.poifs.storage;
|
||||
|
||||
import org.apache.poi.poifs.common.POIFSConstants;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
@ -84,7 +85,7 @@ public class RawDataBlock
|
||||
throws IOException
|
||||
{
|
||||
_data = new byte[ POIFSConstants.BIG_BLOCK_SIZE ];
|
||||
int count = stream.read(_data);
|
||||
int count = IOUtils.readFully(stream, _data);
|
||||
|
||||
if (count == -1)
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ public class TestDocument
|
||||
{
|
||||
array[ j ] = ( byte ) j;
|
||||
}
|
||||
document = new POIFSDocument("foo", new ByteArrayInputStream(array));
|
||||
document = new POIFSDocument("foo", new SlowInputStream(new ByteArrayInputStream(array)));
|
||||
checkDocument(document, array);
|
||||
|
||||
// verify correct number of blocks get created for document
|
||||
|
Loading…
Reference in New Issue
Block a user