私はから使用getInputStream
しsocket
ます。ただし、バイト配列を long に変換すると、間違った数値が取得されます。デバッグ モードを使用してバイト配列の各値を確認したところ、値が符号付きであることがわかりました。符号付きバイト配列を符号なし配列に変換するにはどうすればよいですか? または、問題が問題に関連していないという間違った感覚を持っていましたsigned
。足りない情報があれば教えてください。ありがとう。
以下は私のコードです:
InputStream inputStream = socket.getInputStream();
byte[] fileNameBytes = new byte[8];
byte[] totalLengthBytes = new byte[8];
try {
inputStream.read(fileNameBytes);
inputStream.read(totalLengthBytes);
} catch (Exception ex) {
Log.e("Error in InputStream: " + ex.getMessage());
}
totalLength = byteArrayToLong(totalLengthBytes);