OPC Studio User's Guide and Reference
CreateStreamReader(IFileInfo,Encoding) Method



OpcLabs.BaseLib Assembly > OpcLabs.BaseLib.Extensions.FileProviders Namespace > IFileInfoExtension Class > CreateStreamReader Method : CreateStreamReader(IFileInfo,Encoding) Method
A file info that represents a file in the file provider.

The value of this parameter cannot be null (Nothing in Visual Basic).

The character encoding to use.

The value of this parameter cannot be null (Nothing in Visual Basic).

Creates a System.IO.StreamReader with specified encoding that reads from an existing text file.
Syntax
'Declaration
 
<ExtensionAttribute()>
<NotNullAttribute()>
Public Overloads Shared Function CreateStreamReader( _
   ByVal fileInfo As IFileInfo, _
   ByVal encoding As Encoding _
) As StreamReader
'Usage
 
Dim fileInfo As IFileInfo
Dim encoding As Encoding
Dim value As StreamReader
 
value = IFileInfoExtension.CreateStreamReader(fileInfo, encoding)
[Extension()]
[NotNull()]
public static StreamReader CreateStreamReader( 
   IFileInfo fileInfo,
   Encoding encoding
)
[Extension()]
[NotNull()]
public:
static StreamReader^ CreateStreamReader( 
   IFileInfo^ fileInfo,
   Encoding^ encoding
) 

Parameters

fileInfo
A file info that represents a file in the file provider.

The value of this parameter cannot be null (Nothing in Visual Basic).

encoding
The character encoding to use.

The value of this parameter cannot be null (Nothing in Visual Basic).

Return Value

Returns a new System.IO.StreamReader for reading from this file info.

This method never returns null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

An I/O error has occurred.

This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately.

An invoked method is not supported at all, or is not supported with the parameters used to create the object.

A security error was detected.

This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately.

The operating system has denied access because of an I/O error or a specific type of security error.

This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately.

Remarks

This method is similar in purpose to System.IO.FileInfo.OpenText, but is generalized for any kind of file info, not just files in the physical file system.

The System.IO.StreamReader object attempts to detect the encoding by looking at the first four bytes of the stream. It automatically recognizes UTF-8, little-endian Unicode, big-endian Unicode, little-endian UTF-32, and big-endian UTF-32 text if the file starts with the appropriate byte order marks. Otherwise, the user-provided encoding is used. See the System.Text.Encoding.GetPreamble method for more information.

This is an extension method (info: C#, VB.NET). In languages that have support for extensions methods (such as C# and VB.NET), you can use the extension method as if it were a regular method on the object that is its first parameter. In other languages (such as with Python.NET), you will call the extension as a static method, and pass it the object on which it acts as its first parameter.

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also