InputStream.Read Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя. | Описание |
|---|---|
| Read(Byte[], Int32, Int32) |
Считывает до |
| Read() |
Считывает следующий байт данных из входного потока. |
| Read(Byte[]) |
Считывает некоторое количество байтов из входного потока и сохраняет их в буферный массив |
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.
Значение
Комментарии
Считывает до 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 достигается конец потока.
- Атрибуты
Исключения
Значение
Комментарии
Считывает следующий байт данных из входного потока. Байт значения возвращается в диапазоне 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 и используемых в соответствии с условиями, описанными в разделе "".