Java DataInputStream readUnsignedShort()方法

java.io.DataInputStream.readUnsignedShort() 用于读取两个输入字节,并返回一个介于0到65535之间的int值。

1 语法

public final int readUnsignedShort()

2 参数

3 返回值

此方法返回读取的无符号16位值。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.DataInputStream.readUnsignedShort() 方法的例子
 */
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class Demo {
    public static void main(String[] args) throws IOException {
        InputStream is = null;
        DataInputStream dis = null;
        FileOutputStream fos = null;
        DataOutputStream dos = null;
        short[] s = {-5, 32767};

        try {
            // create file output stream
            fos = new FileOutputStream("d:\\test.txt");

            // create data output stream
            dos = new DataOutputStream(fos);

            // for each  short in short buffer
            for(short j:s) {

                // write short to data output stream
                dos.writeShort(j);
            }

            // force data to the underlying file output stream
            dos.flush();

            // create file input stream
            is = new FileInputStream("d:\\test.txt");

            // create new data input stream
            dis = new DataInputStream(is);

            // available stream to be read
            while(dis.available()>0) {

                // returns unsigned 16-bit number
                int k = dis.readUnsignedShort();

                // print
                System.out.print(k+" ");
            }

        } catch(Exception e) {
            // if any error occurs
            e.printStackTrace();
        } finally {
            // releases all system resources from the streams
            if(is!=null)
                is.close();
            if(dis!=null)
                dis.close();
            if(fos!=null)
                fos.close();
            if(dos!=null)
                dos.close();
        }
    }
}

输出结果为:

65531 32767 

热门文章

优秀文章