StreamReader.CurrentEncoding 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得目前 StreamReader 物件使用的目前字元編碼。
public:
virtual property System::Text::Encoding ^ CurrentEncoding { System::Text::Encoding ^ get(); };
public virtual System.Text.Encoding CurrentEncoding { get; }
member this.CurrentEncoding : System.Text.Encoding
Public Overridable ReadOnly Property CurrentEncoding As Encoding
屬性值
目前讀取器所使用的字元編碼。 在第一次呼叫 StreamReader 的任何 Read 方法之後其值可能不同,因為編碼方式的自動偵測要等到第一次呼叫 Read 方法後才完成。
範例
下列程式代碼範例會取得指定 StreamReader 物件的編碼方式。
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
//Use an encoding other than the default (UTF8).
StreamWriter^ sw = gcnew StreamWriter( path,false,gcnew UnicodeEncoding );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
StreamReader^ sr = gcnew StreamReader( path,true );
try
{
while ( sr->Peek() >= 0 )
{
Console::Write( (Char)sr->Read() );
}
//Test for the encoding after reading, or at least
//after the first read.
Console::WriteLine( "The encoding used was {0}.", sr->CurrentEncoding );
Console::WriteLine();
}
finally
{
delete sr;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
try
{
if (File.Exists(path))
{
File.Delete(path);
}
//Use an encoding other than the default (UTF8).
using (StreamWriter sw = new StreamWriter(path, false, new UnicodeEncoding()))
{
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("Reading");
}
using (StreamReader sr = new StreamReader(path, true))
{
while (sr.Peek() >= 0)
{
Console.Write((char)sr.Read());
}
//Test for the encoding after reading, or at least
//after the first read.
Console.WriteLine("The encoding used was {0}.", sr.CurrentEncoding);
Console.WriteLine();
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
'Use an encoding other than the default (UTF8).
Dim sw As StreamWriter = New StreamWriter(path, False, New UnicodeEncoding())
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim sr As StreamReader = New StreamReader(path, True)
Do While sr.Peek() >= 0
Console.Write(Convert.ToChar(sr.Read()))
Loop
'Test for the encoding after reading, or at least
'after the first read.
Console.WriteLine("The encoding used was {0}.", sr.CurrentEncoding)
Console.WriteLine()
sr.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
備註
如需一般 I/O 工作的清單,請參閱 一般 I/O 工作。