Спарсить строку с байтами в массив байт (Java)

Есть массив байт

byte[] byteArray = {1, 22, 44, 55};

Мы сделали его строковое представление через

 Arrays.toString(byteArray);

Получилась строка "[1, 22, 44, 55]". Как из этой строки обратно спарсить массив этих байт, то есть:

byte[] byteArray = {1, 22, 44, 55};

Ответы (1 шт):

Автор решения: entithat

Сначала заменяем символы [ и ], а затем делим строку на числа через , . Потом проходимся по каждому этому числу и парсим из него значение с помощью Byte.parseByte.

byte[] byteArray = {1, 127, 44, 55};
String s = Arrays.toString(byteArray).replaceAll("([\\[\\]])", "");

String[] arrStr = s.split(", ");
byte[] arr = new byte[arrStr.length];
for (int i = 0; i < arrStr.length; i++) {
    arr[i] = Byte.parseByte(arrStr[i]);
}

System.out.println(Arrays.toString(arr));
→ Ссылка