Как разбить больший кусок на меньший, чтобы вписаться в максимальный кусок?

Мой сервер отправляет мне фрагментированные данные, и я могу получить ответ в моем клиенте. Проблема, с которой я сталкиваюсь, состоит в том, что некоторые куски слишком велики, около 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");

Другие вопросы по тегам