import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-
-import javajs.J2SIgnoreImport;
-import javajs.api.GenericZipInputStream;
-import javajs.api.GenericZipTools;
-import javajs.api.ZInputStream;
-
import java.util.Map;
import java.util.zip.CRC32;
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
+import javajs.api.GenericZipInputStream;
+import javajs.api.GenericZipTools;
+import javajs.api.Interface;
+import javajs.api.ZInputStream;
+
+import org.apache.tools.bzip2.CBZip2InputStreamFactory;
+
/**
* Note the JSmol/HTML5 must use its own version of java.util.zip.ZipOutputStream.
*
*/
-@J2SIgnoreImport({ java.util.zip.ZipOutputStream.class })
public class ZipTools implements GenericZipTools {
public ZipTools() {
return newZIS(is);
}
+ @SuppressWarnings("resource")
private static ZInputStream newZIS(InputStream is) {
return (is instanceof ZInputStream ? (ZInputStream) is
: is instanceof BufferedInputStream ? new GenericZipInputStream(is)
}
@Override
+ public InputStream newBZip2InputStream(InputStream is) throws IOException {
+ return new BufferedInputStream(((CBZip2InputStreamFactory) Interface.getInterface("org.apache.tools.bzip2.CBZip2InputStreamFactory")).getStream(is));
+ }
+
+ @Override
public BufferedInputStream getUnGzippedInputStream(byte[] bytes) {
try {
return Rdr.getUnzippedInputStream(this, Rdr.getBIS(bytes));
@Override
public Object getZipOutputStream(Object bos) {
- /**
- * @j2sNative
- *
- * return javajs.api.Interface.getInterface(
- * "java.util.zip.ZipOutputStream").setZOS(bos);
- *
- */
- {
+// /**
+// * @j2sNative
+// *
+// * return javajs.api.Interface.getInterface(
+// * "java.util.zip.ZipOutputStream").setZOS(bos);
+// *
+// */
+// {
return new ZipOutputStream((OutputStream) bos);
- }
+// }
}
@Override
bdata.clear();
bdata.put("_ERROR_", e.getMessage());
}
- }
+ }
- @Override
+ @Override
public String cacheZipContents(BufferedInputStream bis,
String fileName,
Map<String, Object> cache,
return null;
System.out.println("ZipTools cached " + n + " bytes from " + fileName);
return listing.toString();
- }
+ }
- private static byte[] getPngImageBytes(BufferedInputStream bis) {
+ private static byte[] getPngImageBytes(BufferedInputStream bis) {
try {
if (Rdr.isPngZipStream(bis)) {
int pt_count[] = new int[2];