JAVA解释UINT16文件,首先将UINT16文件用byte来读取
try {
   File file = new File(filePath);
   FileInputStream fis = new FileInputStream(file);
   ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
   byte[] b = new byte[1000];
   int n;
   while ((n = fis.read(b)) != -1) {
    bos.write(b, 0, n);
   }
   fis.close();
   bos.close();
   buffer = bos.toByteArray();
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 
 其实由于UINT16是C或C++的类型,转为JAVA来解释的是话是对应int,占据两个字节,所以需要两个字节两个字节来解释文件。
 以下是将拿到的字节转成十进制。
 获取字节:
 public static byte[] byteCopy(byte[] content,int start,int tstep){
  byte[] value = new byte[content.length];
  int end = start+ tstep;
  value = java.util.Arrays.copyOfRange(content, start, end);
  return value;
 }
  转换成十进制
  public static int byte2int(byte res, byte res1) {
  // 一个byte数据左移24位变成0x 000000,再右移8位变成0x00 0000

  int targets = (res & 0xff) | ((res1 << 8) & 0xff00);
  return targets;
 }