下面是一些读取文件的方法,用于在我的android应用程序中使用的字节数组。将文件读取到字节数组时的冗余字节
- M1:
private static byte[] readFileAsBytes(String filePath)
throws java.io.IOException{
FileInputStream fisTargetFile = new FileInputStream(new File(filePath));
String targetFileStr = IOUtils.toString(fisTargetFile, "UTF-8");
byte[] inputData = IOUtils.toByteArray(new StringReader(targetFileStr),"UTF-8");
return inputData;
}
- M2
private static byte[] readFileAsBytes(String filePath)
throws java.io.IOException{
File file = new File(filePath);
FileInputStream inputFile = new FileInputStream(file);
byte inputData[] = new byte[(int)file.length()];
inputFile.read(inputData);
inputFile.close();
return inputData;
}
我this 还使用方法......
但是,当我调试,我dectect一些多余字节,例如:
文件文本:ABCDEF
当调试:
- 在M1:inputData: {-17,-69,-65,65,66,67,68,69,70}
我知道A - > 65,B - > 66,...但是为什么出现{-17,-69,-65}
-In M2:出现比M1多的冗余。
我已经搜索,但没有发现相同的问题。
对我有任何建议。
谢谢!
这两个片段都是错误的。 – Henry
请对字节值使用十六进制表示法。小数点是不可读的。 – greenapps
'文件文本:ABCDEF'。你有哪些程序/应用程序制作文件?文件的大小是多少? 6或9? 9我相信你有9个价值观。但是ABCDEF只有6个字符。最有可能的前三个值是BOM。一个字节顺序标记。 – greenapps