导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

StreamReader 类

实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。

命名空间:  System.IO
程序集:  mscorlib(在 mscorlib.dll 中)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StreamReader : TextReader

StreamReader 类型公开以下成员。

  名称说明
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream)为指定的流初始化 StreamReader 类的新实例。
公共方法由 XNA Framework 提供支持StreamReader(String)为指定的文件名初始化 StreamReader 类的新实例。
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream, Boolean)用指定的字节顺序标记检测选项,为指定的流初始化 StreamReader 类的一个新实例。
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream, Encoding)用指定的字符编码为指定的流初始化 StreamReader 类的一个新实例。
公共方法由 XNA Framework 提供支持StreamReader(String, Boolean)为指定的文件名初始化 StreamReader 类的新实例,带有指定的字节顺序标记检测选项。
公共方法由 XNA Framework 提供支持StreamReader(String, Encoding)用指定的字符编码,为指定的文件名初始化 StreamReader 类的一个新实例。
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream, Encoding, Boolean)为指定的流初始化 StreamReader 类的新实例,带有指定的字符编码和字节顺序标记检测选项。
公共方法由 XNA Framework 提供支持StreamReader(String, Encoding, Boolean)为指定的文件名初始化 StreamReader 类的新实例,带有指定的字符编码和字节顺序标记检测选项。
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream, Encoding, Boolean, Int32)为指定的流初始化 StreamReader 类的新实例,带有指定的字符编码、字节顺序标记检测选项和缓冲区大小。
公共方法由 XNA Framework 提供支持StreamReader(String, Encoding, Boolean, Int32)为指定的文件名初始化 StreamReader 类的新实例,带有指定字符编码、字节顺序标记检测选项和缓冲区大小。
公共方法受以下版本支持:适用于 Windows 应用商店应用的 .NETStreamReader(Stream, Encoding, Boolean, Int32, Boolean)为指定的流初始化 StreamReader 类的新实例,带有指定的字符编码、字节顺序标记检测选项和缓冲区大小,有选择性的打开流。
页首

  名称说明
公共属性由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETBaseStream返回基础流。
公共属性由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETCurrentEncoding获取当前 StreamReader 对象正在使用的当前字符编码。
公共属性由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETEndOfStream获取一个值,该值表示当前的流位置是否在流的末尾。
页首

  名称说明
公共方法由 XNA Framework 提供支持Close关闭 StreamReader 对象和基础流,并释放与读取器关联的所有系统资源。 (重写 TextReader.Close()。)
公共方法CreateObjRef创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETDiscardBufferedData清除内部缓冲区。
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETDispose()释放由 TextReader 对象使用的所有资源。 (继承自 TextReader。)
受保护的方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETDispose(Boolean)关闭基础流,释放 StreamReader 使用的未托管资源,同时还可以根据需要释放托管资源。 (重写 TextReader.Dispose(Boolean)。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETEquals(Object)确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETFinalize允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETGetHashCode作为默认哈希函数。 (继承自 Object。)
公共方法GetLifetimeService检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETGetType获取当前实例的 Type (继承自 Object。)
公共方法InitializeLifetimeService获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
受保护的方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETMemberwiseClone()创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法MemberwiseClone(Boolean)创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETPeek返回下一个可用的字符,但不使用它。 (重写 TextReader.Peek()。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETRead()读取输入流中的下一个字符并使该字符的位置提升一个字符。 (重写 TextReader.Read()。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETRead(Char[], Int32, Int32)从当前流中将指定的最多个字符读到指定索引位置开始的缓冲区。 (重写 TextReader.Read(Char[], Int32, Int32)。)
公共方法受以下版本支持:适用于 Windows 应用商店应用的 .NETReadAsync异步从当前流中读取指定数目的字符并从指定索引开始将该数据写入缓冲区。 (重写 TextReader.ReadAsync(Char[], Int32, Int32)。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库ReadBlock从当前流中读取指定数目的字符并从指定索引开始将该数据写入缓冲区。 (重写 TextReader.ReadBlock(Char[], Int32, Int32)。)

在.NET Framework Client Profile 4中,此成员继承自 TextReader.ReadBlock(Char[], Int32, Int32).


在XNA Framework 3.0中,此成员继承自 TextReader.ReadBlock(Char[], Int32, Int32).


在可移植类库 可移植类库中,此成员继承自 TextReader.ReadBlock(Char[], Int32, Int32).
公共方法受以下版本支持:适用于 Windows 应用商店应用的 .NETReadBlockAsync异步从当前流中读取指定数目的字符并从指定索引开始将该数据写入缓冲区。 (重写 TextReader.ReadBlockAsync(Char[], Int32, Int32)。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETReadLine从当前流中读取一行字符并将数据作为字符串返回。 (重写 TextReader.ReadLine()。)
公共方法受以下版本支持:适用于 Windows 应用商店应用的 .NETReadLineAsync从当前流中异步读取一行字符并将数据作为字符串返回。 (重写 TextReader.ReadLineAsync()。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETReadToEnd从流的当前位置到末尾读取所有字符。 (重写 TextReader.ReadToEnd()。)
公共方法受以下版本支持:适用于 Windows 应用商店应用的 .NETReadToEndAsync异步读取从当前位置到流的结尾的所有字符并将它们作为一个字符串返回。 (重写 TextReader.ReadToEndAsync()。)
公共方法由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETToString返回表示当前对象的字符串。 (继承自 Object。)
页首

  名称说明
公共字段静态成员由 XNA Framework 提供支持受以下产品支持可移植类库受以下版本支持:适用于 Windows 应用商店应用的 .NETNull空流周围的 StreamReader
页首

StreamReader is designed for character input in a particular encoding, whereas the Stream class is designed for byte input and output. Use StreamReader for reading lines of information from a standard text file.

StreamReader defaults to UTF-8 encoding unless specified otherwise, instead of defaulting to the ANSI code page for the current system. UTF-8 handles Unicode characters correctly and provides consistent results on localized versions of the operating system.

By default, a StreamReader is not thread safe. See TextReader.Synchronized for a thread-safe wrapper.

The Read(Char[], Int32, Int32) and Write(Char[], Int32, Int32) method overloads read and write the number of characters specified by the count parameter. These are to be distinguished from BufferedStream.Read and BufferedStream.Write, which read and write the number of bytes specified by the count parameter. Use the BufferedStream methods only for reading and writing an integral number of byte array elements.

说明说明

When reading from a Stream, it is more efficient to use a buffer that is the same size as the internal buffer of the stream.

For a list of common I/O tasks, see 通用 I/O 任务.

The following example uses an instance of StreamReader to read text from a file. The constructor used in this example is not supported for use in Windows 应用商店 Apps.


using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("TestFile.txt")) 
            {
                string line;
                // Read and display lines from the file until the end of 
                // the file is reached.
                while ((line = sr.ReadLine()) != null) 
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception e) 
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}


.NET Framework

受以下版本支持:4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

此类型的任何公共static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

社区附加资源

添加
显示:
© 2015 Microsoft