Язык

InputStream.Read Метод

Определение

Перегрузки

Имя. Описание
Read(Byte[], Int32, Int32)

Считывает до len байтов данных из входного потока в массив байтов.

Read()

Считывает следующий байт данных из входного потока.

Read(Byte[])

Считывает некоторое количество байтов из входного потока и сохраняет их в буферный массив b.

Read(Byte[], Int32, Int32)

Считывает до len байтов данных из входного потока в массив байтов.

[Android.Runtime.Register("read", "([BII)I", "GetRead_arrayBIIHandler")]
public virtual int Read(byte[]? b, int off, int len);
[<Android.Runtime.Register("read", "([BII)I", "GetRead_arrayBIIHandler")>]
abstract member Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int

Параметры

b
Byte[]

буфер, в который считываются данные.

off
Int32

смещение начала в массиве b , в котором записываются данные.

len
Int32

максимальное число байтов для чтения.

Возвращаемое значение

общее количество байтов, считываемых в буфер, или -1 если больше данных нет, так как конец потока достигнут.

Атрибуты

Исключения

Значение if byteOffset buffer.length.

Значение , если поток закрыт или возникает другое значение IOException.

Комментарии

Считывает до len байтов данных из входного потока в массив байтов. Предпринята попытка считывать столько len байтов, сколько байтов, но может быть прочитано меньшее число. Число байтов, фактически считываемых, возвращается в виде целого числа.

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

Если len значение равно нулю, то байты не считываются и 0 возвращаются; в противном случае попытка считывать по крайней мере один байт. Если байт недоступен, так как поток находится в конце файла, возвращается значение -1 ; в противном случае по крайней мере один байт считывается и сохраняется в b.

Первое чтение байтов хранится в элементе b[off], следующем в b[off+1]и т. д. Число операций чтения байтов в большинстве случаев равно len. Допустим , количество байтов фактически считывается; эти байты будут храниться в элементах b[off] через b[off+k-1], оставляя элементы b[off+k] через b[off+len-1] небезопасные.

В каждом случае элементы b[0] через b[off-1] и элементы b[off+len]b[b.length-1] не влияют на них.

Метод read(b, off, len) для класса InputStream просто вызывает метод read() многократно. Если первый такой вызов приводит к IOExceptionвозникновению исключения, это исключение возвращается из вызова read(b,off,len) метода. Если любой последующий вызов read()IOExceptionприводит к возникновению ошибки, исключение перехватываются и обрабатываются так, как если бы он был в конце файла; байты, считываемые до этой точки, хранятся в b и число байтов, считываемых до возвращения исключения. Реализация этого метода по умолчанию блокируется до тех пор, пока запрошенный объем входных данных len не будет прочитан, конец файла обнаружен или возникает исключение. Подклассы рекомендуется обеспечить более эффективную реализацию этого метода.

Java документации по java.io.InputStream.read(byte[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к

Read()

Считывает следующий байт данных из входного потока.

[Android.Runtime.Register("read", "()I", "GetReadHandler")]
public abstract int Read();
[<Android.Runtime.Register("read", "()I", "GetReadHandler")>]
abstract member Read : unit -> int

Возвращаемое значение

следующий байт данных или -1 достигается конец потока.

Атрибуты

Исключения

Значение , если поток закрыт или возникает другое значение IOException.

Комментарии

Считывает следующий байт данных из входного потока. Байт значения возвращается в диапазоне int0255. Если байт недоступен из-за достижения конца потока, возвращается значение -1 . Этот метод блокирует до тех пор, пока входные данные не будут доступны, будет обнаружен конец потока или возникает исключение.

Подкласс должен предоставить реализацию этого метода.

Java документации по java.io.InputStream.read().

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к

Read(Byte[])

Считывает некоторое количество байтов из входного потока и сохраняет их в буферный массив b.

[Android.Runtime.Register("read", "([B)I", "GetRead_arrayBHandler")]
public virtual int Read(byte[]? b);
[<Android.Runtime.Register("read", "([B)I", "GetRead_arrayBHandler")>]
abstract member Read : byte[] -> int
override this.Read : byte[] -> int

Параметры

b
Byte[]

буфер, в который считываются данные.

Возвращаемое значение

общее количество байтов, считываемых в буфер, или -1 если больше данных нет, так как конец потока достигнут.

Атрибуты

Исключения

Комментарии

Считывает некоторое количество байтов из входного потока и сохраняет их в буферный массив b. Число байтов, фактически считываемых, возвращается в виде целого числа. Этот метод блокирует до тех пор, пока входные данные не будут доступны, будет обнаружен конец файла или возникает исключение.

Если длина b равна нулю, то байты не считываются и 0 возвращаются; в противном случае выполняется попытка считывать по крайней мере один байт. Если байт недоступен, так как поток находится в конце файла, возвращается значение -1 ; в противном случае по крайней мере один байт считывается и сохраняется в b.

Первое чтение байтов хранится в элементе b[0], следующем в b[1]и т. д. Число операций чтения байтов в большинстве случаев равно длине b. Допустим , количество байтов фактически считывается; эти байты будут храниться в элементах b[0] через b[k-1], оставляя элементы b[k] через b[b.length-1] небезопасные.

Метод класса read(b) имеет тот же эффект, что и:InputStream

{@code read(b, 0, b.length) }

Java документации по java.io.InputStream.read(byte[]).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к