如果我有一個包含我想要的確切byte[]
數據文件:讀取字節值在文件轉換成字節數組
[-119, 45, 67, ...]
我怎麼能讀取這些值轉換爲byte
陣列?是否必須將它們作爲String
讀取,然後將這些String
值轉換爲byte
值?
這是目前我在做什麼,和它的作品,但慢慢地:
BufferedReader reader = null;
String mLine = null;
AssetManager assetManager = CustomApplication.getCustomAppContext().getAssets();
try {
reader = new BufferedReader(new InputStreamReader(assetManager.open(fileName)));
mLine = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String[] byteValues = mLine.substring(1, mLine.length() - 1).split(",");
byte[] imageBytes = new byte[byteValues.length];
for (int i = 0; i < imageBytes.length; i++) {
imageBytes[i] = Byte.valueOf(byteValues[i].trim());
}
return imageBytes;
UPDATE:似乎有是什麼,我想完成一個誤區。我的文件包含我想要的最終字節數組中的EXACT字節數據。例如,我想將文件轉換與準確
[-119, 45, 67, ...]
成byte[]
稱爲結果與
result[0] = -119
result[1] = 45
result[2] = 67
讀一個字節整個文件陸續真的不好,很慢的練習。 –
這不起作用。當以字符串形式顯示時,我的緩衝區將包含正確的值[[-119,45,67,...]',但在'toByteArray()'後面,結果包含'[91,45,49,...] 。在調試中,緩衝區的字符串表示是正確的,但實際值是錯誤的。 –