Java 类java.util.zip.DeflaterInputStream 实例源码
项目:v8fs
文件:Container.java
public void addFile(String name, byte[] content, boolean deflate) throws IOException {
byte[] data;
if (deflate) {
ByteArrayInputStream in = new ByteArrayInputStream(content);
DeflaterInputStream def = new DeflaterInputStream(in, new Deflater(9, true));
data = ByteStreams.toByteArray(def);
} else {
data = content;
}
Chain dataChain = new Chain(data, (int) this.getHeader().getDefaultChunkSize(), getContainerContext());
dataChain.setContainerContext(getContainerContext());
Date date = new Date();
Attributes attributes = new Attributes(date, date, 0, name, null, getContainerContext());
Chain attrChain = new Chain(attributes.asByteArray(), (int) this.getHeader().getDefaultChunkSize(), getContainerContext());
attrChain.setContainerContext(getContainerContext());
attributes.setChain(attrChain);
File fl = new File(name, attributes, dataChain, this, getContainerContext());
this.getChains().add(attrChain);
this.getChains().add(dataChain);
this.getFiles().put(fl.getName(), fl);
}
项目:j2objc
文件:DeflaterInputStreamTest.java
public void testReadByteByByte() throws IOException {
byte[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
InputStream in = new DeflaterInputStream(new ByteArrayInputStream(data));
ByteArrayOutputStream out = new ByteArrayOutputStream();
assertEquals(1, in.available());
int b;
while ((b = in.read()) != -1) {
out.write(b);
}
assertEquals(0, in.available());
assertEquals(Arrays.toString(data), Arrays.toString(inflate(out.toByteArray())));
in.close();
try {
in.available();
fail();
} catch (IOException expected) {
}
}
项目:j2objc
文件:DeflaterInputStreamTest.java
public void testReadWithBuffer() throws IOException {
byte[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
byte[] buffer = new byte[8];
InputStream in = new DeflaterInputStream(new ByteArrayInputStream(data));
ByteArrayOutputStream out = new ByteArrayOutputStream();
assertEquals(1, in.available());
int count;
while ((count = in.read(buffer, 0, 5)) != -1) {
assertTrue(count <= 5);
out.write(buffer, 0, count);
}
assertEquals(0, in.available());
assertEquals(Arrays.toString(data), Arrays.toString(inflate(out.toByteArray())));
in.close();
try {
in.available();
fail();
} catch (IOException expected) {
}
}
项目:Tundra.java
文件:HTTPCompressionContentHandler.java
/**
* Reads input for service invocation. Turns properly formatted input into an instance of Values
* suitable for service invocation. Called before service invocation to provide input. If the
* transport is HTTP, and a Content-Encoding header was specified with the value "gzip" or "deflate",
* the stream is wrapped in a decompression stream.
*
* @param contentHandlerInput The input arguments for processing by the content handler.
* @throws IOException If an error occurs writing to the output stream.
*/
public void getInputValues(ContentHandlerInput contentHandlerInput) throws IOException {
if (startable.isStarted()) {
String contentType = contentHandlerInput.getInvokeState().getContentType();
if (!(contentType != null && EXCLUDED_CONTENT_TYPES.matcher(contentType).matches())) {
ProtocolInfoIf protocolInfoIf = contentHandlerInput.getInvokeState().getProtocolInfoIf();
if (protocolInfoIf instanceof HTTPState) {
HTTPState httpState = (HTTPState)protocolInfoIf;
String contentEncoding = HTTPStateHelper.getHeader(httpState, HttpHeader.CONTENT_ENCODING);
if (contentEncoding != null) {
if (contentEncoding.equalsIgnoreCase("gzip")) {
contentHandlerInput.setInputStream(new GZIPInputStream(contentHandlerInput.getInputStream(), InputOutputHelper.DEFAULT_BUFFER_SIZE));
HTTPStateHelper.removeHeader(httpState, HttpHeader.CONTENT_ENCODING);
} else if (contentEncoding.equalsIgnoreCase("deflate")) {
contentHandlerInput.setInputStream(new DeflaterInputStream(contentHandlerInput.getInputStream()));
HTTPStateHelper.removeHeader(httpState, HttpHeader.CONTENT_ENCODING);
}
}
}
}
}
}
项目:In-the-Box-Fork
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#available()
*/
public void testAvailable() throws IOException {
byte[] buf = new byte[1024];
DeflaterInputStream dis = new DeflaterInputStream(is);
assertEquals(1, dis.available());
assertEquals(120, dis.read());
assertEquals(1, dis.available());
assertEquals(22, dis.read(buf, 0, 1024));
assertEquals(1, dis.available());
assertEquals(-1, dis.read());
assertEquals(0, dis.available());
dis.close();
try {
dis.available();
fail("should throw IOException");
} catch (IOException e) {
// expected
}
}
项目:In-the-Box-Fork
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#read()
*/
public void testRead() throws IOException {
DeflaterInputStream dis = new DeflaterInputStream(is);
assertEquals(1, dis.available());
assertEquals(120, dis.read());
assertEquals(1, dis.available());
assertEquals(156, dis.read());
assertEquals(1, dis.available());
assertEquals(243, dis.read());
assertEquals(1, dis.available());
dis.close();
try {
dis.read();
fail("should throw IOException");
} catch (IOException e) {
// expected
}
}
项目:cn1
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#available()
*/
public void testAvailable() throws IOException {
byte[] buf = new byte[1024];
DeflaterInputStream dis = new DeflaterInputStream(is);
assertEquals(1, dis.available());
assertEquals(120, dis.read());
assertEquals(1, dis.available());
assertEquals(22, dis.read(buf, 0, 1024));
assertEquals(1, dis.available());
assertEquals(-1, dis.read());
assertEquals(0, dis.available());
dis.close();
try {
dis.available();
fail("should throw IOException");
} catch (IOException e) {
// expected
}
}
项目:cn1
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#read()
*/
public void testRead() throws IOException {
DeflaterInputStream dis = new DeflaterInputStream(is);
assertEquals(1, dis.available());
assertEquals(120, dis.read());
assertEquals(1, dis.available());
assertEquals(156, dis.read());
assertEquals(1, dis.available());
assertEquals(243, dis.read());
assertEquals(1, dis.available());
dis.close();
try {
dis.read();
fail("should throw IOException");
} catch (IOException e) {
// expected
}
}
项目:bazel
文件:ZipCombiner.java
/** Writes an entry with the given name, date and external file attributes from the buffer. */
private void writeEntryFromBuffer(ZipFileEntry entry, byte[] uncompressed) throws IOException {
CRC32 crc = new CRC32();
crc.update(uncompressed);
entry.setCrc(crc.getValue());
entry.setSize(uncompressed.length);
if (mode == OutputMode.FORCE_STORED) {
entry.setMethod(Compression.STORED);
entry.setCompressedSize(uncompressed.length);
writeEntry(entry, new ByteArrayInputStream(uncompressed));
} else {
ByteArrayOutputStream compressed = new ByteArrayOutputStream();
copyStream(new DeflaterInputStream(new ByteArrayInputStream(uncompressed), getDeflater()),
compressed);
entry.setMethod(Compression.DEFLATED);
entry.setCompressedSize(compressed.size());
writeEntry(entry, new ByteArrayInputStream(compressed.toByteArray()));
}
}
项目:webarchive-commons
文件:Recorder.java
/**
* Get a replay cued up for the 'content' (after all leading headers)
*
* @return A replay input stream.
* @throws IOException
*/
public InputStream getContentReplayInputStream() throws IOException {
InputStream entityStream = getEntityReplayInputStream();
if(StringUtils.isEmpty(contentEncoding)) {
return entityStream;
} else if ("gzip".equalsIgnoreCase(contentEncoding) || "x-gzip".equalsIgnoreCase(contentEncoding)) {
try {
return new GZIPInputStream(entityStream);
} catch (IOException ioe) {
logger.log(Level.WARNING,"gzip problem; using raw entity instead",ioe);
IOUtils.closeQuietly(entityStream); // close partially-read stream
return getEntityReplayInputStream();
}
} else if ("deflate".equalsIgnoreCase(contentEncoding)) {
return new DeflaterInputStream(entityStream);
} else if ("identity".equalsIgnoreCase(contentEncoding) || "none".equalsIgnoreCase(contentEncoding)) {
return entityStream;
} else {
// shouldn't be reached given check on setContentEncoding
logger.log(Level.INFO,"Unknown content-encoding '"+contentEncoding+"' declared; using raw entity instead");
return entityStream;
}
}
项目:JMaNGOS
文件:SMSG_COMPRESSED_UPDATE_OBJECT.java
@SuppressWarnings("restriction")
@Override
public void writeImpl() {
final ByteArrayInputStream bais = new ByteArrayInputStream(this.packet);
final DeflaterInputStream deflaterInputStream = new DeflaterInputStream(bais);
byte[] defos;
try {
defos = sun.misc.IOUtils.readFully(deflaterInputStream, -1, true);
writeD(defos.length);
writeB(defos);
} catch (final IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
项目:tipi-engine
文件:DbInputStreamVariable.java
public void setValue(InputStreamHolder is, BlobFactory aBlobFactory) {
deserialBlob = null;
try (DeflaterInputStream inputStream = new DeflaterInputStream(is.getInputStream())) {
setBlob(aBlobFactory.createBlob(inputStream));
} catch (Exception e) {
String msg = "Impossible de mettre à jour le blob";
throw new RuntimeException(msg, e);
}
}
项目:NyaaCore
文件:ItemStackUtils.java
private static byte[] compress(byte[] data) {
byte[] ret;
try (ByteArrayInputStream bis = new ByteArrayInputStream(data);
ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
ByteStreams.copy(new DeflaterInputStream(bis), bos);
ret = bos.toByteArray();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
return ret;
}
项目:twill
文件:ResourceReportClient.java
private InputStream getInputStream(HttpURLConnection urlConn) throws IOException {
InputStream is = urlConn.getInputStream();
String contentEncoding = urlConn.getContentEncoding();
if (contentEncoding == null) {
return is;
}
if ("gzip".equalsIgnoreCase(contentEncoding)) {
return new GZIPInputStream(is);
}
if ("deflate".equalsIgnoreCase(contentEncoding)) {
return new DeflaterInputStream(is);
}
// This should never happen
throw new IOException("Unsupported content encoding " + contentEncoding);
}
项目:Java-FPDF
文件:Compressor.java
public static byte[] decompress(byte[] contentBytes) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
InputStream input = new DeflaterInputStream(new ByteArrayInputStream(contentBytes));
byte[] buf = new byte[1024];
int len = -1;
while ((len = input.read(buf)) > 0) {
out.write(buf, 0, len);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return out.toByteArray();
}
项目:sambox
文件:ObjectsStreamPDFBodyObjectsWriter.java
void prepareForWriting()
{
IOUtils.closeQuietly(dataWriter);
setItem(COSName.N, asDirectObject(COSInteger.get(counter)));
setItem(COSName.FIRST, asDirectObject(COSInteger.get(header.size())));
setItem(COSName.FILTER, asDirectObject(COSName.FLATE_DECODE));
this.filtered = new DeflaterInputStream(
new SequenceInputStream(new ByteArrayInputStream(header.toByteArray()),
new ByteArrayInputStream(data.toByteArray())));
this.header = null;
this.data = null;
}
项目:In-the-Box-Fork
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#mark()
*/
public void testMark() throws IOException {
// mark do nothing
DeflaterInputStream dis = new DeflaterInputStream(is);
dis.mark(-1);
dis.mark(0);
dis.mark(1);
dis.close();
dis.mark(1);
}
项目:In-the-Box-Fork
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#markSupported()
*/
public void testMarkSupported() throws IOException {
DeflaterInputStream dis = new DeflaterInputStream(is);
assertFalse(dis.markSupported());
dis.close();
assertFalse(dis.markSupported());
}
项目:In-the-Box-Fork
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#DeflaterInputStream(InputStream)
*/
public void testDeflaterInputStreamInputStream() {
// ok
new DeflaterInputStream(is);
// fail
try {
new DeflaterInputStream(null);
fail("should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
}
项目:cn1
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#mark()
*/
public void testMark() throws IOException {
// mark do nothing
DeflaterInputStream dis = new DeflaterInputStream(is);
dis.mark(-1);
dis.mark(0);
dis.mark(1);
dis.close();
dis.mark(1);
}
项目:cn1
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#markSupported()
*/
public void testMarkSupported() throws IOException {
DeflaterInputStream dis = new DeflaterInputStream(is);
assertFalse(dis.markSupported());
dis.close();
assertFalse(dis.markSupported());
}
项目:cn1
文件:DeflaterInputStreamTest.java
/**
* @tests DeflaterInputStream#DeflaterInputStream(InputStream)
*/
public void testDeflaterInputStreamInputStream() {
// ok
new DeflaterInputStream(is);
// fail
try {
new DeflaterInputStream(null);
fail("should throw NullPointerException");
} catch (NullPointerException e) {
// expected
}
}
项目:bazel
文件:ZipCombiner.java
/**
* Writes an entry from the specified source {@link ZipReader} and {@link ZipFileEntry} using the
* specified {@link EntryAction}.
*
* <p>Writes the output entry from the input entry performing inflation or deflation as needed
* and applies any values from the {@link EntryAction} as needed.
*/
private void writeEntry(ZipReader zip, ZipFileEntry entry, EntryAction action)
throws IOException {
checkArgument(action.getType() != ActionType.SKIP,
"Cannot write a zip entry whose action is of type SKIP.");
ZipFileEntry outEntry = new ZipFileEntry(entry);
if (action.getType() == ActionType.RENAME) {
checkNotNull(action.getNewName(),
"ZipEntryFilter actions of type RENAME must not have a null filename.");
outEntry.setName(action.getNewName());
}
if (action.getDate() != null) {
outEntry.setTime(action.getDate().getTime());
}
InputStream data;
if (mode == OutputMode.FORCE_DEFLATE && entry.getMethod() != Compression.DEFLATED) {
// The output mode is deflate, but the entry compression is not. Create a deflater stream
// from the raw file data and deflate to a temporary byte array to determine the deflated
// size. Then use this byte array as the input stream for writing the entry.
ByteArrayOutputStream tmp = new ByteArrayOutputStream();
copyStream(new DeflaterInputStream(zip.getRawInputStream(entry), getDeflater()), tmp);
data = new ByteArrayInputStream(tmp.toByteArray());
outEntry.setMethod(Compression.DEFLATED);
outEntry.setCompressedSize(tmp.size());
} else if (mode == OutputMode.FORCE_STORED && entry.getMethod() != Compression.STORED) {
// The output mode is stored, but the entry compression is not; create an inflater stream
// from the raw file data.
data = new InflaterInputStream(zip.getRawInputStream(entry), getInflater());
outEntry.setMethod(Compression.STORED);
outEntry.setCompressedSize(entry.getSize());
} else {
// Entry compression agrees with output mode; use the raw file data as is.
data = zip.getRawInputStream(entry);
}
writeEntry(outEntry, data);
}
项目:grails-lightweight-deploy
文件:BiDiGzipFilter.java
private ServletRequest wrapDeflatedRequest(HttpServletRequest request) throws IOException {
final Deflater deflater = buildDeflater();
final DeflaterInputStream input = new DeflaterInputStream(request.getInputStream(), deflater, _bufferSize) {
@Override
public void close() throws IOException {
deflater.reset();
localDeflater.set(deflater);
super.close();
}
};
return new WrappedServletRequest(request, input);
}
项目:activitystreams
文件:Compression.java
public DeflaterInputStream decompressor(InputStream in)
throws IOException {
return new DeflaterInputStream(in);
}
项目:sejda
文件:ReadOnlyFilteredCOSStreamTest.java
@Test
public void embeddedFileIsCompressed() throws Exception {
victim = ReadOnlyFilteredCOSStream.readOnlyEmbeddedFile(StreamSource.newInstance(stream, "chuck"));
assertThat(victim.getFilteredStream(), instanceOf(DeflaterInputStream.class));
}
项目:Diorite-old
文件:NbtInputStream.java
/**
* Construct new NbtInputStream for deflated input stream and limiter.
*
* @param in input stream to be used.
* @param limiter limiter to be used.
*
* @return new NbtInputStream.
*/
public static NbtInputStream fromDeflater(final InputStream in, final NbtLimiter limiter)
{
return new NbtInputStream(new DataInputStream(new BufferedInputStream(new DeflaterInputStream(new NbtInputLimitedStream(in, limiter)))));
}