在我的应用程序中,我需要读取某个PCM文件,然后我想将它存储在一个名为“bytes”的字节数组中。
没有错误,但似乎这个功能不起作用?因为当我尝试打印数组“bytes”的任何元素时,它打印出零。
当我尝试打印出这个“字节”数组的大小时,它会给我一个PCM文件的确切文件。所以它似乎认出了文件,,,但为什么它给全部零? 请有人告诉我有什么问题!
这是我的代码:
private void readFromFile() {
// TODO Auto-generated method stub
String filePath2 = "/storage/sdcard0/Sounds/fateha1.pcm" ;
File file = new File(filePath2);
int size = (int) file.length();
byte[] bytes = new byte[size*2];
try {
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
buf.read(bytes, 0, bytes.length);
//the following 2 lines are just for testing purposes,,, to see if file was read or not
String data = String.valueOf(bytes[10]);
display.setText(data);
buf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
注意:我从以下链接获得此代码: Android : How to read file in bytes?