home *** CD-ROM | disk | FTP | other *** search
- package com.sfs.iavazip.viewer;
-
- import java.awt.Image;
- import java.io.DataInputStream;
- import java.io.IOException;
-
- public class FileInput {
- private byte[] buffer = new byte[4];
- private DataInputStream data;
- private boolean intelSwitch;
-
- public final void skipBytes(int var1) throws IOException {
- this.data.skip((long)var1);
- }
-
- public final void close() throws IOException {
- this.data.close();
- }
-
- public final long read32Bit() throws IOException {
- long var1 = 0L;
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- this.data.read(this.buffer, 0, 4);
- var3 = this.buffer[0] & 255;
- var4 = this.buffer[1] & 255;
- var5 = this.buffer[2] & 255;
- var6 = this.buffer[3] & 255;
- if (this.intelSwitch) {
- var1 = (long)((var6 << 24) + (var5 << 16));
- var1 += (long)((var4 << 8) + var3);
- } else {
- var1 = (long)((var3 << 24) + (var4 << 16));
- var1 += (long)((var5 << 8) + var6);
- }
-
- return var1;
- }
-
- public final int readByte() throws IOException {
- int var1 = 0;
- this.data.read(this.buffer, 0, 1);
- var1 = this.buffer[0] & 255;
- return var1;
- }
-
- public final int read16Bit() throws IOException {
- int var1 = 0;
- this.data.read(this.buffer, 0, 2);
- var1 = ((this.buffer[0] & 255) << 8) + (this.buffer[1] & 255);
- return this.intelSwitch ? (int)this.switchEndianOrder((long)var1) : var1;
- }
-
- public final int available() throws IOException {
- return this.data.available();
- }
-
- private final long switchEndianOrder(long var1) {
- long var3 = var1 & -1L;
- long var5 = var3 & 255L;
- long var7 = var3 >> 8 & 255L;
- long var9 = var3 >> 16 & 255L;
- long var11 = var3 >> 24 & 255L;
- return (var9 << 24) + (var11 << 16) + (var5 << 8) + var7;
- }
-
- public final byte[] readBytes(int var1, ProgressStatus var2) throws IOException {
- byte[] var3 = new byte[var1];
- int var4 = var1;
- int var5 = 0;
- int var6 = 0;
- int var7 = 1;
-
- for(int var8 = 0; var4 > 0; var4 -= var7) {
- var5 = this.data.available();
- if (var5 > var4) {
- var5 = var4;
- }
-
- var7 = this.data.read(var3, var6, var5);
- if (var7 == -1) {
- var4 = 0;
- Thread.yield();
- }
-
- var6 += var7;
- var8 = var6 * 100 / var1;
- var2.imageLoaded(var8, (Image)null, " ");
- }
-
- return var3;
- }
-
- public final byte[] readBytes(int var1) throws IOException {
- byte[] var2 = new byte[var1];
- int var3 = var1;
- int var4 = 0;
- int var5 = 0;
-
- int var8;
- for(var8 = 1; var3 > 0; var3 -= var8) {
- var4 = this.data.available();
- if (var4 > var1) {
- var4 = var1;
- }
-
- var8 = this.data.read(var2, var5, var4);
- if (var8 < var4) {
- var3 = 0;
- Thread.yield();
- }
-
- var5 += var8;
- }
-
- return var2;
- }
-
- public final void setIntelSwitch(boolean var1) {
- this.intelSwitch = var1;
- }
-
- public final void use(DataInputStream var1) throws IOException {
- this.data = var1;
- }
-
- public final String readString(int var1) throws IOException {
- char[] var2 = new char[var1];
-
- for(int var3 = 0; var3 < var1; ++var3) {
- var2[var3] = (char)this.data.read();
- }
-
- return String.copyValueOf(var2);
- }
- }
-