• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
2  *
3  * This program and the accompanying materials are made available under
4  * the terms of the Common Public License v1.0 which accompanies this distribution,
5  * and is available at http://www.eclipse.org/legal/cpl-v10.html
6  *
7  * $Id: UDataInputStream.java,v 1.1.1.1.2.1 2004/07/10 03:34:53 vlad_r Exp $
8  */
9 package com.vladium.jcd.lib;
10 
11 import java.io.DataInputStream;
12 import java.io.IOException;
13 import java.io.InputStream;
14 
15 // ----------------------------------------------------------------------------
16 /**
17  * A trivial extension to java.io.DataInputStream to provide methods for
18  * reading unsigned 16- and 32-bit integers with simple mnemonics. It uses
19  * correspondingly wider native types to preserve the full range of the unsigned
20  * types.
21  *
22  * @author (C) 2001, Vlad Roubtsov
23  */
24 public
25 final class UDataInputStream extends DataInputStream
26 {
27     // public: ................................................................
28 
29 
UDataInputStream(final InputStream _in)30     public UDataInputStream (final InputStream _in)
31     {
32         super (_in);
33     }
34 
35 
readU2()36     public final int readU2 () throws IOException
37     {
38         final short value = readShort ();
39 
40         return ((int) value) & 0xFFFF; // widening cast sign-extends
41     }
42 
43 
readU4()44     public final long readU4 () throws IOException
45     {
46         final int value = readInt ();
47 
48         return ((long) value) & 0xFFFFFFFFL; // widening cast sign-extends
49     }
50 
51     // protected: .............................................................
52 
53     // package: ...............................................................
54 
55     // private: ...............................................................
56 
57 } // end of class
58 // ----------------------------------------------------------------------------
59