2010-02-09 3 views
10

В Java byte[] st = new byte[4096] подразумевается, что размер массива st не будет превышать 4096 байт.Могу ли я ограничить размер массива в Scala?

Эквивалент Scala: st:Array[byte] = Array(), где размер неизвестен. Если я читаю огромный массив в этот массив, то как я могу ограничить размер массива?

Будет ли побочный эффект, если мне не нужен размер для вышеуказанной операции?

ответ

27
var buffer = new Array[Byte](4 * 1024) 

Работы прекрасно, и он ведет себя так, как ожидалось.

9

Пример Java не создает массив с верхней границей его размера, он создает массив с точно указанным размером, который фиксируется на протяжении всего срока его службы. В этом отношении массивы Scala идентичны. Кроме того, это:

val st: Array[Byte] = Array() 

выделяет массив байт («байт» в Java) длины 0.

Насколько чтение файла в массив, если необходимо обработать весь файл, а затем попытайтесь выделить требуемое пространство, и если он не сработает, вы не сможете продолжить.

Смежные вопросы