实现一个 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. VMware下centos7安装

    VMware下centos7安装 转载地址:https://blog.csdn.net/hui_2016/article/details/68927487 一. 软件准备 二. Vmware12安装 ...

  2. Django报错:提交表单报错---RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set.

    Django报错:提交表单报错---RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and ...

  3. Java代码混淆工具ProGuard

    目录 Java代码混淆工具ProGuard 简介 描述 作用的环境 功能 工作原理 下载 使用时注意事项 版本问题 JDK位数问题 Java的字节码验证问题 关于使用类似于Hibernate的对象关系 ...

  4. XamarinAndroid组件教程设置动画的时长参数

    XamarinAndroid组件教程设置动画的时长参数 在添加动画的时候,开发者还可以动画参数进行设置,如动画持续的时长.插值器等.下面依次讲解动画参数的设置方法. 1.设置动画时长 设置动画持续的时 ...

  5. YOLO系列:YOLO v1深度解析

    声明一点,我是工程应用人员,此文章仅适合算法应用工程师. 1.首先 先看一下YOLO的整体结构: 2.其次 看一下YOLO的工作过程: (1) 将原图划分为SxS的网格.如果一个目标的中心落入某个格子 ...

  6. DTL

    DTL:Django模板语言(Django Template Language). 一.变量 1.视图函数可以通过两种方式将变量传递给模板页面: ① render(request, 'test_pag ...

  7. [C程序设计基础]快速排序

    //从大到小排序 ///三个参数 a要排序的 数组, l扫左边的 r扫右边 void quickSort(int a[],int l, int r){ /// 左边要小于 右边才有意义 if (l & ...

  8. 服务端spark gbdt模型计算性能优化

    服务端使用训练出来的模型,spark模型计算第一步是实现spark模型加载. 线上服务对用户体验影响极大,故需要对模型使用进行优化. 1.多线程并发进行计算,线上两个服务.优化cpu 2.在扩召回集, ...

  9. BZOJ.1805.[IOI2007]sail船帆(贪心 线段树)

    BZOJ 洛谷 首先旗杆的顺序没有影响,答案之和在某一高度帆的总数有关.所以先把旗杆按高度排序. 设高度为\(i\)的帆有\(s_i\)个,那么答案是\(\sum\frac{s_i(s_i-1)}{2 ...

  10. HTML使用的几个小知识点

    本文主要分享几个网页前端的几个基础知识点,用于零碎的html知识学习,同时也是在实践中的一些心得.最后给出了几个小例子. 1. 网页编程初识 掌握基本的html标签以及CSS语法 学会查看网页的源代码 ...