java.io.DataInputStream.readUnsignedShort() 方法返回的結果以int範圍為0到65535。讀取兩個輸入位元組並返回一個int值。
以下是宣告java.io.DataInputStream.readUnsignedShort()方法:
public final int readUnsignedShort()
NA
此方法返回無符號的16位元讀取值。
IOException -- 如果流已關閉或發生或任何I/ O錯誤。
EOFException -- 如果輸入流已經到達末端。
下面的範例演示java.io.DataInputStream.readUnsignedShort()方法的用法。
package com.yiibai; 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 DataInputStreamDemo { 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("c:\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("c:\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