Android Open Source - min3d Little Endian Data Input Stream






From Project

Back to project page min3d.

License

The source code is released under:

MIT License

If you think the Android project min3d listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.min3d.lib;
/*from w ww. j  a v  a 2s  .  com*/
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * Taken from http://www.peterfranza.com/2008/09/26/little-endian-input-stream/
 * @author dennis.ippel
 *
 */
public class LittleEndianDataInputStream extends InputStream implements DataInput {
 
  public LittleEndianDataInputStream(InputStream in) {
    this.in = in;
    this.d = new DataInputStream(in);
    w = new byte[8];
  }
 
  public int available() throws IOException {
    return d.available();
  }
 
 
  public final short readShort() throws IOException
  {
    d.readFully(w, 0, 2);
    return (short)(
        (w[1]&0xff) << 8 |
        (w[0]&0xff));
  }
  
   public String readString(int length) throws IOException {
          if (length == 0) {
              return null;
          }

          byte[] b = new byte[length];
          d.readFully(b);

          return new String(b, "US-ASCII");
      }


 
  /**
   * Note, returns int even though it reads a short.
   */
   public final int readUnsignedShort() throws IOException
   {
     d.readFully(w, 0, 2);
     return (
         (w[1]&0xff) << 8 |
         (w[0]&0xff));
   }
 
   /**
    * like DataInputStream.readChar except little endian.
    */
   public final char readChar() throws IOException
   {
     d.readFully(w, 0, 2);
     return (char) (
         (w[1]&0xff) << 8 |
         (w[0]&0xff));
   }
 
   /**
    * like DataInputStream.readInt except little endian.
    */
   public final int readInt() throws IOException
   {
     d.readFully(w, 0, 4);
     return
     (w[3])      << 24 |
     (w[2]&0xff) << 16 |
     (w[1]&0xff) <<  8 |
     (w[0]&0xff);
   }
 
   /**
    * like DataInputStream.readLong except little endian.
    */
   public final long readLong() throws IOException
   {
     d.readFully(w, 0, 8);
     return
     (long)(w[7])      << 56 | 
     (long)(w[6]&0xff) << 48 |
     (long)(w[5]&0xff) << 40 |
     (long)(w[4]&0xff) << 32 |
     (long)(w[3]&0xff) << 24 |
     (long)(w[2]&0xff) << 16 |
     (long)(w[1]&0xff) <<  8 |
     (long)(w[0]&0xff);
   }
 
   public final float readFloat() throws IOException {
     return Float.intBitsToFloat(readInt());
   }
 
   public final double readDouble() throws IOException {
     return Double.longBitsToDouble(readLong());
   }
 
   public final int read(byte b[], int off, int len) throws IOException {
     return in.read(b, off, len);
   }
 
   public final void readFully(byte b[]) throws IOException {
     d.readFully(b, 0, b.length);
   }
 
   public final void readFully(byte b[], int off, int len) throws IOException {
     d.readFully(b, off, len);
   }
 
   public final int skipBytes(int n) throws IOException {
     return d.skipBytes(n);
   }
 
   public final boolean readBoolean() throws IOException {
     return d.readBoolean();
   }
 
   public final byte readByte() throws IOException {
     return d.readByte();
   }
 
   public int read() throws IOException {
     return in.read();
   }
 
   public final int readUnsignedByte() throws IOException {
     return d.readUnsignedByte();
   }
 
   @Deprecated
   public final String readLine() throws IOException {
     return d.readLine();
   }
 
   public final String readUTF() throws IOException {
     return d.readUTF();
   }
 
   public final void close() throws IOException {
     d.close();
   }
 
   private DataInputStream d; // to get at high level readFully methods of
   // DataInputStream
   private InputStream in; // to get at the low-level read methods of
   // InputStream
   private byte w[]; // work array for buffering input
}




Java Source Code List

com.min3d.ApplicationTest.java
com.min3d.ExampleAccelerometer.java
com.min3d.ExampleAnimatedTexture.java
com.min3d.ExampleAnimatingVertices.java
com.min3d.ExampleAssigningTexturesDynamically.java
com.min3d.ExampleCamera.java
com.min3d.ExampleFog.java
com.min3d.ExampleFromScratch.java
com.min3d.ExampleInsideLayout.java
com.min3d.ExampleKeyframeAnimation.java
com.min3d.ExampleLightProperties.java
com.min3d.ExampleLoad3DSFile.java
com.min3d.ExampleLoadMD2File.java
com.min3d.ExampleLoadObjFileMultiple.java
com.min3d.ExampleLoadObjFile.java
com.min3d.ExampleMipMap.java
com.min3d.ExampleMostMinimal.java
com.min3d.ExampleMultiTexture.java
com.min3d.ExampleMultipleLights.java
com.min3d.ExampleRenderType.java
com.min3d.ExampleRotatingPlanets.java
com.min3d.ExampleSubsetOfFaces.java
com.min3d.ExampleTextureOffset.java
com.min3d.ExampleTextureWrap.java
com.min3d.ExampleTextures.java
com.min3d.ExampleTransparentGlSurface.java
com.min3d.ExampleVertexColors.java
com.min3d.ExampleVerticesVariations.java
com.min3d.ScratchActivity.java
com.min3d.SplashActivity.java
com.min3d.lib.AParser.java
com.min3d.lib.ApplicationTest.java
com.min3d.lib.IParser.java
com.min3d.lib.LittleEndianDataInputStream.java
com.min3d.lib.MD2Parser.java
com.min3d.lib.Max3DSParser.java
com.min3d.lib.Min3d.java
com.min3d.lib.ObjParser.java
com.min3d.lib.ParseObjectData.java
com.min3d.lib.ParseObjectFace.java
com.min3d.lib.Parser.java
com.min3d.lib.Shared.java
com.min3d.lib.Utils.java
com.min3d.lib.animation.AnimationObject3d.java
com.min3d.lib.animation.KeyFrame.java
com.min3d.lib.core.Color4BufferList.java
com.min3d.lib.core.FacesBufferedList.java
com.min3d.lib.core.ManagedLightList.java
com.min3d.lib.core.Number3dBufferList.java
com.min3d.lib.core.Object3dContainer.java
com.min3d.lib.core.Object3d.java
com.min3d.lib.core.RenderCaps.java
com.min3d.lib.core.RendererActivity.java
com.min3d.lib.core.Renderer.java
com.min3d.lib.core.Scene.java
com.min3d.lib.core.TextureList.java
com.min3d.lib.core.TextureManager.java
com.min3d.lib.core.UvBufferList.java
com.min3d.lib.core.Vertices.java
com.min3d.lib.interfaces.IDirtyManaged.java
com.min3d.lib.interfaces.IDirtyParent.java
com.min3d.lib.interfaces.IObject3dContainer.java
com.min3d.lib.interfaces.ISceneController.java
com.min3d.lib.objectPrimitives.Box.java
com.min3d.lib.objectPrimitives.HollowCylinder.java
com.min3d.lib.objectPrimitives.Rectangle.java
com.min3d.lib.objectPrimitives.SkyBox.java
com.min3d.lib.objectPrimitives.Sphere.java
com.min3d.lib.objectPrimitives.Torus.java
com.min3d.lib.vos.AbstractDirtyManaged.java
com.min3d.lib.vos.BooleanManaged.java
com.min3d.lib.vos.CameraVo.java
com.min3d.lib.vos.Color4Managed.java
com.min3d.lib.vos.Color4.java
com.min3d.lib.vos.Face.java
com.min3d.lib.vos.FloatManaged.java
com.min3d.lib.vos.FogType.java
com.min3d.lib.vos.FrustumManaged.java
com.min3d.lib.vos.LightType.java
com.min3d.lib.vos.Light.java
com.min3d.lib.vos.Number3dManaged.java
com.min3d.lib.vos.Number3d.java
com.min3d.lib.vos.RenderType.java
com.min3d.lib.vos.ShadeModelManaged.java
com.min3d.lib.vos.ShadeModel.java
com.min3d.lib.vos.TexEnvxVo.java
com.min3d.lib.vos.TextureVo.java
com.min3d.lib.vos.Uv.java
com.min3d.lib.vos.Vertex3d.java