mirror of https://github.com/apache/poi.git
BoundedInputStream deprecation warnings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1918175 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
160fc0122c
commit
f56eea8e45
|
@ -21,6 +21,7 @@ import java.io.ByteArrayInputStream;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.function.Supplier;
|
||||
|
@ -102,13 +103,21 @@ public class ExOleObjStg extends PositionDependentRecordAtom implements PersistR
|
|||
* Opens an input stream which will decompress the data on the fly.
|
||||
*
|
||||
* @return the data input stream.
|
||||
* @throws UncheckedIOException if the data size exceeds the expected size.
|
||||
*/
|
||||
public InputStream getData() {
|
||||
if (isCompressed()) {
|
||||
int size = LittleEndian.getInt(_data);
|
||||
|
||||
InputStream compressedStream = new ByteArrayInputStream(_data, 4, _data.length);
|
||||
return new BoundedInputStream(new InflaterInputStream(compressedStream), size);
|
||||
try {
|
||||
return BoundedInputStream.builder()
|
||||
.setInputStream(new InflaterInputStream(compressedStream))
|
||||
.setMaxCount(size)
|
||||
.get();
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
} else {
|
||||
return new ByteArrayInputStream(_data, 0, _data.length);
|
||||
}
|
||||
|
|
|
@ -205,7 +205,7 @@ public class CryptoAPIDecryptor extends Decryptor {
|
|||
for (StreamDescriptorEntry entry : entries) {
|
||||
sbis.seek(entry.streamOffset);
|
||||
sbis.setBlock(entry.block);
|
||||
try (InputStream is = new BoundedInputStream(sbis, entry.streamSize)) {
|
||||
try (InputStream is = BoundedInputStream.builder().setInputStream(sbis).setMaxCount(entry.streamSize).get()) {
|
||||
fsOut.createDocument(is, entry.streamName);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,9 @@
|
|||
==================================================================== */
|
||||
package org.apache.poi.poifs.crypt.cryptoapi;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.security.GeneralSecurityException;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
|
@ -40,8 +42,22 @@ import org.apache.poi.util.Internal;
|
|||
cipher = encryptor.initCipherForBlock(null, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the encrypted data.
|
||||
*
|
||||
* @param maxSize
|
||||
* @return the encrypted data
|
||||
* @throws UncheckedIOException if an I/O error occurs
|
||||
*/
|
||||
public InputStream toInputStream(long maxSize) {
|
||||
return new BoundedInputStream(toInputStream(), maxSize);
|
||||
try {
|
||||
return BoundedInputStream.builder()
|
||||
.setInputStream(toInputStream())
|
||||
.setMaxCount(maxSize)
|
||||
.get();
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void setSize(int count) {
|
||||
|
|
|
@ -140,8 +140,14 @@ public class StandardDecryptor extends Decryptor {
|
|||
long cipherLen = (_length/blockSize + 1) * blockSize;
|
||||
Cipher cipher = getCipher(getSecretKey());
|
||||
|
||||
InputStream boundedDis = new BoundedInputStream(dis, cipherLen);
|
||||
return new BoundedInputStream(new CipherInputStream(boundedDis, cipher), _length);
|
||||
final InputStream boundedDis = BoundedInputStream.builder()
|
||||
.setInputStream(dis)
|
||||
.setMaxCount(cipherLen)
|
||||
.get();
|
||||
return BoundedInputStream.builder()
|
||||
.setInputStream(new CipherInputStream(boundedDis, cipher))
|
||||
.setMaxCount(_length)
|
||||
.get();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -142,7 +142,7 @@ public final class IOUtils {
|
|||
|
||||
stream.mark(limit);
|
||||
try (UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().setBufferSize(limit).get()) {
|
||||
copy(new BoundedInputStream(stream, limit), bos);
|
||||
copy(BoundedInputStream.builder().setInputStream(stream).setMaxCount(limit).get(), bos);
|
||||
|
||||
int readBytes = bos.size();
|
||||
if (readBytes == 0) {
|
||||
|
|
Loading…
Reference in New Issue