实现一个 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. 03. Pandas 2| 时间序列

    1.时间模块:datetime datetime模块,主要掌握:datetime.date(), datetime.datetime(), datetime.timedelta() 日期解析方法:pa ...

  2. 004 Java的一次面试题,学长列举

    据说是Java的面试题,感觉有些汗颜,所以决定研究一下. 1.线程.进程.协程的区别,他们怎么进行线程的交互? 2.k8s内的scheduler怎么做的,流程?跟etcd怎么交互? 3.hashmap ...

  3. Url地址重写

    一 什么是url重写URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.比如浏览器发来请求 hostname/101.aspx ,服务器自动将这个请求中定向为http://h ...

  4. POJ 2112 Optimal Milking (二分+最短路+最大流)

    <题目链接> 题目大意: 有K台挤奶机和C头奶牛,都被视为物体,这K+C个物体之间存在路径.给出一个 (K+C)x(K+C) 的矩阵A,A[i][j]表示物体i和物体j之间的距离,有些物体 ...

  5. C++学习之 —— 输入输出

     案例:输入任意空格和数字,输出其中的数字之和. #include <iostream> using namespace std; int main() { ; cout << ...

  6. [洛谷P1886]滑动窗口 (单调队列)(线段树)

    ---恢复内容开始--- 这是很好的一道题 题目描述: 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口. 现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的 ...

  7. 在Node.js使用Promise的方式操作Mysql

    最近在学习Node.js,虽然早就听说了回调地狱结果过了一周就遇到了.所以花时间学习了了一下Promise.虽然还有Async/await.co.生成器等选择,但是因为本人基础较差,以及时间问题所以决 ...

  8. linux修改文件为可执行文件

    修改shell为可执行文件 chmod +x test2.sh chmod 751 file   给file的属主分配读.写.执行(7)的权限,给file的所在组分配读.执行(5)的权限,给其他用户分 ...

  9. js数组根据指定字段(true or false)排序

    const obj = [ {name:'1',bind:true}, {name:'2',bind:false}, {name:'3',bind:true}, {name:'4',bind:fals ...

  10. Django——分页

    必要属性和方法 per_page: 每页显示条目数量 count: 数据总个数 num_pages:总页数 page_range:页面范围,从1开始,例如[1,2,3,4]. page: page对象 ...