Как разбить больший кусок на меньший, чтобы вписаться в максимальный кусок?
Мой сервер отправляет мне фрагментированные данные, и я могу получить ответ в моем клиенте. Проблема, с которой я сталкиваюсь, состоит в том, что некоторые куски слишком велики, около 10 МБ. Я получаю исключение, так как я установил максимальный размер чанка 2M.
Есть ли способ разбить этот большой кусок на более мелкие?
2 ответа
Хм. Не уверен, какую версию Spray вы используете, но начиная с версии 1.1 incoming-auto-chunking-threshold-size
настройка ( подробности здесь). Вот пример сервиса, который поддерживает загрузку по частям.
На данный момент есть ряд ограничений. Вы можете прочитать соответствующее обсуждение в открытом билете.
Вы можете разделить большие блоки на более мелкие, используя RandomAccessFile. У меня была такая же проблема. Я решил это с помощью RandomAccessFile.
Вы можете сделать это следующим образом.
byte[] bytes;
String filePath = "path";
RandomAccessFile file1 = new RandomAccessFile(filePath, "r");
file1.seek(0);
bytes = new byte[(int)file1.length()/3];
file1.read(bytes);
file1.close();
String str = new String(bytes, "UTF-8");