X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=unused%2Fjavajs%2Futil%2FZipData.java;fp=unused%2Fjavajs%2Futil%2FZipData.java;h=f20715fcbb7b81071b69b28efeadafb22fad9c75;hb=ec8f3cedf60fb1feed6d34de6b49f6bfa78b9dd8;hp=0000000000000000000000000000000000000000;hpb=056dad85a910551cc95e44d451a61f6b8c4dd35d;p=jalview.git diff --git a/unused/javajs/util/ZipData.java b/unused/javajs/util/ZipData.java new file mode 100644 index 0000000..f20715f --- /dev/null +++ b/unused/javajs/util/ZipData.java @@ -0,0 +1,76 @@ +/* $RCSfile$ + * $Author$ + * $Date$ + * $Revision$ + * + * Copyright (C) 2006 The Jmol Development Team + * + * Contact: jmol-developers@lists.sf.net + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +package javajs.util; + +import java.io.BufferedInputStream; + +import javajs.api.GenericZipTools; + + + + +public class ZipData { + boolean isEnabled = true; + byte[] buf; + int pt; + int nBytes; + + public ZipData(int nBytes) { + this.nBytes = nBytes; + } + + public int addBytes(byte[] byteBuf, int nSectorBytes, int nBytesRemaining) { + if (pt == 0) { + if (!Rdr.isGzipB(byteBuf)) { + isEnabled = false; + return -1; + } + buf = new byte[nBytesRemaining]; + } + int nToAdd = Math.min(nSectorBytes, nBytesRemaining); + System.arraycopy(byteBuf, 0, buf, pt, nToAdd); + pt += nToAdd; + return nBytesRemaining - nToAdd; + } + + public void addTo(GenericZipTools jzt, SB data) { + data.append(getGzippedBytesAsString(jzt, buf)); + } + + static String getGzippedBytesAsString(GenericZipTools jzt, byte[] bytes) { + try { + BufferedInputStream bis = jzt.getUnGzippedInputStream(bytes); + String s = ZipTools.getStreamAsString(bis); + bis.close(); + return s; + } catch (Exception e) { + return ""; + } + } + + +} +