实现一个 TextWriter,使其以一种特定的编码向流中写入字符.

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace StreamReadWrite
{
class Program
{
static void Main(string[] args)
{
// Get the directories currently on the C drive.
DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories(); // Write each directory name to a file.
using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
{
foreach (DirectoryInfo dir in cDirs)
{
sw.WriteLine(dir.Name); }
} // Read and show each line from the file.
string line = "";
using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
{
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
}

构造函数

StreamWriter(Stream)

使用 UTF-8 编码及默认的缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。

StreamWriter(Stream, Encoding)

使用指定的编码及默认的缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。

StreamWriter(Stream, Encoding, Int32)

使用指定的编码及缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。

StreamWriter(Stream, Encoding, Int32, Boolean)

使用指定的编码和缓冲区大小,为指定的流初始化 StreamWriter 类的新实例,并可以选择保持流处于打开状态。

StreamWriter(String)

用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的一个新实例。

StreamWriter(String, Boolean)

用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的一个新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。

StreamWriter(String, Boolean, Encoding)

使用指定的编码和默认的缓冲区大小,为指定的文件初始化 StreamWriter 类的新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。

StreamWriter(String, Boolean, Encoding, Int32)

使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。

字段

CoreNewLine

存储用于此 TextWriter 的换行符。

(Inherited from TextWriter)

Null

提供 StreamWriter,它不带任何可写入但无法从中读取的后备存储。

属性

AutoFlush

获取或设置一个值,该值指示 StreamWriter 在每次调用 Write(Char) 之后是否都将其缓冲区刷新到基础流。

BaseStream

获取同后备存储连接的基础流。

Encoding

获取在其中写入输出的 Encoding

FormatProvider

获取控制格式设置的对象。

(Inherited from TextWriter)

NewLine

获取或设置由当前 TextWriter 使用的行结束符字符串。

(Inherited from TextWriter)

方法

Close()

关闭当前 StreamWriter 对象和基础流。

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(Inherited from MarshalByRefObject)

Dispose()

释放由 TextWriter 对象使用的所有资源。

(Inherited from TextWriter)

Dispose(Boolean)

释放由 StreamWriter 占用的非托管资源,还可以另外再释放托管资源。

Equals(Object)

确定指定的对象是否等于当前对象。

(Inherited from Object)

Flush()

清理当前写入器的所有缓冲区,并使所有缓冲数据写入基础流。

FlushAsync()

异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。

GetHashCode()

作为默认哈希函数。

(Inherited from Object)

GetLifetimeService()

检索控制此实例的生存期策略的当前生存期服务对象。

(Inherited from MarshalByRefObject)

GetType()

获取当前实例的 Type

(Inherited from Object)

InitializeLifetimeService()

获取生存期服务对象来控制此实例的生存期策略。

(Inherited from MarshalByRefObject)

MemberwiseClone()

创建当前 Object 的浅表副本。

(Inherited from Object)

MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(Inherited from MarshalByRefObject)

ToString()

返回表示当前对象的字符串。

(Inherited from Object)

Write(Boolean)

将 Boolean 值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Char)

将字符写入流。

Write(Char[])

将字符数组写入流。

Write(Char[], Int32, Int32)

将字符的子数组写入流。

Write(Decimal)

将十进制值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Double)

将 8 字节浮点值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Int32)

将 4 字节有符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Int64)

将 8 字节有符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Object)

通过在对象上调用 ToString 方法将此对象的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(Single)

将 4 字节浮点值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(String)

将字符串写入流。

Write(String, Object)

使用与 Format(String, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

Write(String, Object, Object)

使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

Write(String, Object, Object, Object)

使用与 Format(String, Object, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

Write(String, Object[])

使用与 Format(String, Object[]) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

Write(StringBuilder) Inherited from TextWriter
Write(UInt32)

将 4 字节无符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

Write(UInt64)

将 8 字节无符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteAsync(Char)

将字符异步写入该流。

WriteAsync(Char[])

以异步形式将字符数组写入到下一个字符串或流。

(Inherited from TextWriter)

WriteAsync(Char[], Int32, Int32)

将字符的子数组异步写入该流。

WriteAsync(String)

将字符串异步写入该流。

WriteAsync(StringBuilder, CancellationToken) Inherited from TextWriter
WriteLine()

将行结束符的字符串写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Boolean)

将后面带有行结束符的 Boolean 值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Char)

将后跟行结束符的字符写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Char[])

将后跟行结束符的字符数组写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Char[], Int32, Int32)

将后跟行结束符的字符子数组写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Decimal)

将后面带有行结束符的十进制值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Double)

将后跟行结束符的 8 字节浮点值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Int32)

将后跟行结束符的 4 字节有符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Int64)

将后跟行结束符的 8 字节有符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Object)

通过在对象上调用 ToString 方法将后跟行结束符的此对象的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(Single)

将后跟行结束符的 4 字节浮点值的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(String, Object)

使用与 Format(String, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(String, Object, Object)

使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(String, Object, Object, Object)

使用与 Format(String, Object) 相同的语义写出格式化的字符串和一个新行。

(Inherited from TextWriter)

WriteLine(String, Object[])

使用与 Format(String, Object) 相同的语义写出格式化的字符串和一个新行。

(Inherited from TextWriter)

WriteLine(StringBuilder) Inherited from TextWriter
WriteLine(UInt32)

将后跟行结束符的 4 字节无符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLine(UInt64)

将后跟行结束符的 8 字节无符号整数的文本表示形式写入文本字符串或流。

(Inherited from TextWriter)

WriteLineAsync()

将行终止符异步写入该流。

WriteLineAsync(Char)

将后跟行终止符的字符异步写入该流。

WriteLineAsync(Char[])

将后跟行结束符的字符数组异步写入文本字符串或流。

(Inherited from TextWriter)

WriteLineAsync(Char[], Int32, Int32)

将后跟行终止符的字符的子数组异步写入该流。

WriteLineAsync(String)

将后跟行终止符的字符串异步写入该流。

WriteLineAsync(StringBuilder, CancellationToken) Inherited from TextWriter
IDisposable.Dispose()

有关此成员的说明,请参见 Dispose()

(Inherited from TextWriter)

C# System.IO.StreamWriter的更多相关文章

  1. System.IO.StreamWriter

    string path = @"D:\a.txt"; System.IO.StreamWriter swOut = new System.IO.StreamWriter(path, ...

  2. 详解C#中System.IO.File类和System.IO.FileInfo类的用法

    System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开 ...

  3. 使用匿名管道在进程间通信 (System.IO.Pipes使用)(转)

    原文地址:http://www.cnblogs.com/yukaizhao/archive/2011/08/04/system-io-pipes.html 管道的用途是在同一台机器上的进程之间通信,也 ...

  4. System.IO

                 I/O       1.文件操作:File (1)void AppendAllText(string path, string contents) (2)bool Exist ...

  5. C# System.IO和对文件的读写操作

      System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...

  6. C# System.IO.File

    using System; using System.IO; class Test { public static void Main() { string path = @"c:\temp ...

  7. winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)

    string filePath = ""; private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) ...

  8. .net System.IO之Stream的使用详解

    本篇文章是对.Net中System.IO之Stream的使用进行了详细的分析介绍,需要的朋友参考下 Stream在msdn的定义:提供字节序列的一般性视图(provides a generic vie ...

  9. c# 命名空间之System.IO(继承关系)

    System.IO 命名空间包含允许:读写文件.数据流的类型以及提供基本文件和目录支持的类型. 在这个命名空间中主要的类有: 字节流:Stream.BufferedStream.MemoryStrea ...

随机推荐

  1. Zipkin Server Configuration Using Docker and MySQL[转]

    Zipkin is a used for capturing timing data, it also has a centralized repository, and a microweb ser ...

  2. StringBuffer 可变参数拼接

    @RequestMapping(value="/getFundsCount",method=RequestMethod.POST) public Result getFundsCo ...

  3. Sunscreen POJ - 3614(贪心)

    To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with s ...

  4. 006.Ceph对象存储基础使用

    一 Ceph文件系统 1.1 概述 Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 . Ceph 对象存 ...

  5. Ignatius and the Princess III HDU - 1028 -生成函数or完全背包计数

    HDU - 1028 step 1:初始化第一个多项式 也就是 由 1的各种方案 组 成 的多项式 初始化系数为 1.临时区 temp初始化 为 0 step 2:遍历后续的n - 1 个 多项式 , ...

  6. BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)

    BZOJ LOJ 洛谷 \(d_i\)不同就不用说了,建出树来\(DFS\)一遍. 对于\(d_i\)不同的情况: Solution 1: xxy tql! 考虑如何把这些数依次填到树里. 首先对于已 ...

  7. Django 自定义模板语法

    from django import template from django.utils.safestring import mark_safe register = template.Librar ...

  8. React性能优化记录(不定期更新)

    React性能优化记录(不定期更新) 1. 使用PureComponent代替Component 在新建组件的时候需要继承Component会用到以下代码 import React,{Componen ...

  9. ACPI状态简介

    我们平时对电脑的的待机.休眠.睡眠等等都属于ACPI表示高级配置和电源管理接口(Advanced Configuration and Power Management Interface)范畴. AC ...

  10. shell脚本使用技巧5--字符分隔

    #!/bin/bash #filename:ifs.sh data="name,sex,rollon,location" oldIFS=$IFS IFS=, for item in ...