IOExtensions - класс

Методы-расширения для пространства имён Tessa.Platform.IO.

Definition

Пространство имён: Tessa.Platform.IO
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static class IOExtensions
Inheritance
Object    IOExtensions

Методы

AsMemory Возвращает содержащиеся в потоке MemoryStream байты в текущий момент времени на основании его буфера, или массива, созданного для потока, если буфер нельзя получить. Не используйте результат метода после того, как поток будет освобождён, или после записи в поток.
AsMemoryStreamAsync Возвращает поток stream, преобразованный к типу MemoryStream. Если его тип отличается от MemoryStream, то его содержимое будет скопировано в созданный объект MemoryStream, после чего исходный stream будет освобождён, но только если параметр disposeNonMemoryStream равен true.
AsSpan Возвращает содержащиеся в потоке MemoryStream байты в текущий момент времени на основании его буфера, или массива, созданного для потока, если буфер нельзя получить. Не используйте результат метода после того, как поток будет освобождён, или после записи в поток.
CalculateStreamLengthAsync Вычисляет длину потока посредством его чтения, но отбрасывая сам контент.
DrainAsync Выполняет асинхронное чтение всех данных, содержащихся для заданного объекта TextReader, но не использует эти данные, и возвращает асинхронную задачу по окончанию чтения.
DrainOutputAndErrorAsync

Выполняет чтение стандартного вывода StandardOutput и ошибок StandardError процесса process до их завершения (закрытия дескрипторов, что обычно происходит перед завершением процесса). Не возвращает прочитанные значения.

Используйте, чтобы не происходило переполнение буфера при выполнении процесса, вывод которого перенаправлен. Чтение гарантированно выполняется в другом потоке на пуле.

ReadAllBytes Выполняет синхронное чтение всех данных потока в виде одного массива байт. Чтение выполняется до того момента, как поток перестанет возвращать данные, при этом метод не использует свойство Length для определения количества считываемых данных.
ReadAllBytesAsync Выполняет асинхронное чтение всех данных потока в виде одного массива байт. Чтение выполняется до того момента, как поток перестанет возвращать данные, при этом метод не использует свойство Length для определения количества считываемых данных.
ReadBase64Async Возвращает контент потока в формате base64.
ReadByteAsync Выполняет асинхронное чтение целочисленного значения Byte из потока.
ReadBytesExact Выполняет чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет заданный размер length байт.
ReadBytesExactAsync Выполняет асинхронное чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет заданный размер length байт.
ReadDateTime Читает из байтового потока DateTime.
ReadExact Выполняет чтение указанного количества байт из потока в буфер. В результате выполнения метода либо буфер должен быть заполнен, либо поток завершился раньше, чем данные были прочитаны. Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества только в том случае, если поток завершился.
ReadExactAsync Выполняет асинхронное чтение указанного количества байт из потока в буфер. В результате выполнения метода либо буфер должен быть заполнен, либо поток завершился раньше, чем данные были прочитаны. Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества только в том случае, если поток завершился.
ReadGuid(BinaryReader) Читает из байтового потока Guid.
ReadGuid(Stream) Выполняет чтение значения Guid из потока.
ReadGuidAsync Выполняет асинхронное чтение значения Guid из потока.
ReadInt16Async Выполняет асинхронное чтение целочисленного значения Int16 из потока.
ReadInt32 Выполняет чтение целочисленного значения Int32 из потока.
ReadInt32Async Выполняет асинхронное чтение целочисленного значения Int32 из потока.
ReadInt64 Выполняет чтение целочисленного значения Int32 из потока.
ReadInt64Async Выполняет асинхронное чтение целочисленного значения Int32 из потока.
ReadNullableBoolean Читает из байтового потока значение bool, которое может быть равно null.
ReadNullableBytes Читает из байтового потока массив байт, который может быть равен null.
ReadNullableDateTime Читает из байтового потока DateTime, который может быть равен null.
ReadNullableDouble Читает из байтового потока вещественное число double, которое может быть равно null.
ReadNullableGuid Читает из байтового потока Guid, который может быть равен null.
ReadNullableInt32 Читает из байтового потока целое число int, которое может быть равно null.
ReadNullableInt64 Читает из байтового потока целое число long, которое может быть равно null.
ReadNullableString Читает из байтового потока строку, которая может быть равна null.
ReadOutputAndErrorToEndAsync

Выполняет чтение стандартного вывода StandardOutput и ошибок StandardError процесса process до их завершения (закрытия дескрипторов, что обычно происходит перед завершением процесса). Возвращает прочитанные значения.

Используйте, чтобы не происходило переполнение буфера при выполнении процесса, вывод которого перенаправлен. Чтение гарантированно выполняется в другом потоке на пуле.

ReadString Выполняет чтение значения string из потока.
ReadStringAsync Выполняет асинхронное чтение значения string из потока.
ReadToEndAsync Выполняет асинхронное чтение строки для заданного объекта TextReader с указанием токена отмены операции CancellationToken. Метод без указания токена отмены ReadToEndAsync доступен в классе TextReader, но он не позволяет прервать чтение.
TryReadPrimitiveTypeAsync Выполняет асинхронное чтение объекта примитивного типа из потока. Возвращает значение объекта или признак того, что тип объекта type является примитивным, и объект был прочитан из потока.
TryWritePrimitiveTypeAsync Выполняет асинхронную запись объекта примитивного типа в поток. Возвращает признак того, что тип объекта obj является примитивным, и объект был записан в поток.
Write(BinaryWriter, DateTime) Записывает в байтовый поток DateTime.
Write(BinaryWriter, Guid) Записывает в байтовый поток Guid.
Write(Stream, Byte) Выполняет запись целочисленного значения Byte в поток.
Write(Stream, Guid) Выполняет запись значения Guid в поток.
Write(Stream, Int16) Выполняет запись целочисленного значения Int16 в поток.
Write(Stream, Int32) Выполняет запись целочисленного значения Int32 в поток.
Write(Stream, Int64) Выполняет запись целочисленного значения Int32 в поток.
Write(Stream, String, Encoding) Выполняет запись значения string в поток.
WriteAsync(Stream, Byte, CancellationToken) Выполняет асинхронную запись целочисленного значения Byte в поток.
WriteAsync(Stream, Guid, CancellationToken) Выполняет запись значения Guid в поток.
WriteAsync(Stream, Int16, CancellationToken) Выполняет асинхронную запись целочисленного значения Int16 в поток.
WriteAsync(Stream, Int32, CancellationToken) Выполняет асинхронную запись целочисленного значения Int32 в поток.
WriteAsync(Stream, Int64, CancellationToken) Выполняет асинхронную запись целочисленного значения Int32 в поток.
WriteAsync(Stream, String, Encoding, CancellationToken) Выполняет асинхронную запись значения string в поток.
WriteNullable(BinaryWriter, Byte) Записывает в байтовый поток массив байт, который может быть равен null.
WriteNullable(BinaryWriter, NullableBoolean) Записывает в байтовый поток значение bool, которое может быть равно null.
WriteNullable(BinaryWriter, NullableDateTime) Записывает в байтовый поток DateTime, который может быть равен null.
WriteNullable(BinaryWriter, NullableDouble) Записывает в байтовый поток вещественное число double, которое может быть равно null.
WriteNullable(BinaryWriter, NullableGuid) Записывает в байтовый поток Guid, который может быть равен null.
WriteNullable(BinaryWriter, NullableInt32) Записывает в байтовый поток целое число int, которое может быть равно null.
WriteNullable(BinaryWriter, NullableInt64) Записывает в байтовый поток целое число long, которое может быть равно null.
WriteNullable(BinaryWriter, String) Записывает в байтовый поток строку, которая может быть равна null.
WriteStream Записывает все данные из потока source в поток target.
WriteStreamAsync Записывает все данные из потока source в поток target.
WriteTextAsync(Stream, ReadOnlyMemoryChar, Encoding, CancellationToken) Записывает текст в поток в указанной кодировке. Также записывает преамбулу (BOM) в соответствии с её наличием в кодировке encoding, что также определяется тем, что stream находится в нулевой позиции, или если он не сообщает свою позицию, т.е. CanSeek равно false (по этим же правилам работает StreamWriter).
WriteTextAsync(Stream, String, Encoding, CancellationToken) Записывает текст в поток в указанной кодировке. Также записывает преамбулу (BOM) в соответствии с её наличием в кодировке encoding, что также определяется тем, что stream находится в нулевой позиции, или если он не сообщает свою позицию, т.е. CanSeek равно false (по этим же правилам работает StreamWriter).

См. также