diff --git a/src/main/java/com/google/common/io/ByteStreamsHack.java b/src/main/java/com/google/common/io/ByteStreamsHack.java index 9b83ead..5d7ae39 100644 --- a/src/main/java/com/google/common/io/ByteStreamsHack.java +++ b/src/main/java/com/google/common/io/ByteStreamsHack.java @@ -24,8 +24,10 @@ public class ByteStreamsHack { // An equivalent -though inefficient- implementation using public-only API is: //return ByteStreams.toByteArray(inputStream); - if (expectedSize < 0) expectedSize = 0; - return Files.readFile(inputStream, expectedSize); + // Note that some special files may report size 0 but have content. + return expectedSize <= 0 ? + ByteStreams.toByteArray(inputStream) : + ByteStreams.toByteArray(inputStream, expectedSize); }