Groovy FileInputStream.eachByte (4) {буфер - ›}

У меня проблема с методом .each(int bufferSize, Closure closure).

new FileInputStream(fname).eachByte(4) { buffer ->
    def x = new BigInteger(buffer);
    println x;
}

И аналогично здесь:

new File(fname).eachByte(4) { buffer -> 
    def x = new BigInteger(buffer);
    println x;
}

Итак, я получаю

groovy.lang.MissingMethodException: нет сигнатуры метода: $ _readBitSeq_closure2.doCall () применима для типов аргументов: ([B, java.lang.Integer) значения: [[60, 110, -13, 95], 4]

Кто-нибудь знает, как решить эту проблему ???

Спасибо, Олег.


person Oleg Runo    schedule 08.11.2013    source источник


Ответы (1)


Метод eachByte( int ) требует 2 параметра Закрытие

Первый параметр - это байтовый буфер, второй параметр - это количество байтов, которые были прочитаны из потока. Пытаться:

new FileInputStream(fname).eachByte(4) { buffer, nReads ->
    def x = new BigInteger(buffer);
    println x;
}

То же самое - true для File.eachByte( int )

person tim_yates    schedule 08.11.2013