换句话说,文件是用PCM_16bit写的,但那些数据存储为8位。我想用dsp对这个文件进行分析,但是如何以16位的时间读取该文件并将此16位形成为0-65535之间的一个整数。
答案 0 :(得分:1)
不完全确定你要问的是什么,但如果你想要的是一次读取两个字节作为单个无符号值,你可以使用这样的东西:
File f = new File("/path/to/file");
DataInputStream dis = new DataInputStream(new FileInputStream(f));
List<Integer> values = new ArrayList<>();
try {
while (true){
values.add(dis.readUnsignedShort());
}
} catch(EOFException e){
/* you've read everything at this point */
} finally {
dis.close();
}
您可以在此时将values
更改为基本数组,或直接使用列表。