私はJavaの初心者です.1行ごとに16進数の値を持つテキストドキュメントがあり、それを読み取ってバイト配列に変換しようとしています。しかし、8、d、11、0、e4 などの 16 進数値の場合、解析時に e4 の値が 228 ではなく -28 として間違っています。この変換エラーを克服するにはどうすればよいですか....
FileInputStream fstream = new FileInputStream("C:/Users/data.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(newInputStreamReader(in,"UTF-8"));
byte[] bytes = new byte[1024];
String str;
int i=0;
while ((str = br.readLine()) != null)
{
bytes[i]= (byte) (Integer.parseInt(str,16) & 0xFF);
i++;
}
byte[] destination = new byte[i];
System.arraycopy(bytes, 0, destination, 0, i);
br.close();
return destination;