实现一个 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. 今天一起探讨shiro实现账户同一时刻session唯一

    今天和同事在一起探讨shiro如何实现一个账户同一时刻只有一session存在的问题,下面小编把核心代码分享到博客园平台,需要的朋友参考下http://m.0834jl.com 今天遇到一个项目问题, ...

  2. day70 cookie & session 前后端交互分页显示

    本文转载自qimi博客,cnblog.liwenzhou.com 概要: 我们的cookie是保存在浏览器中的键值对 为什么要有cookie? 我们在访问浏览器的时候,千万个人访问同一个页面,我们只要 ...

  3. word,excel,ppt在线预览功能

    我们在开发web项目时,尤其类似oa功能时总会遇到上传附件并在线预览的功能,发现一款api比较好使,下面简单介绍一下. 微软官网本身提供了在线预览的API 首先将要预览的文档转成.docx,.xlsx ...

  4. TF:TF之Tensorboard实践:将神经网络Tensorboard形式得到events.out.tfevents文件+dos内运行该文件本地服务器输出到网页可视化—Jason niu

    import tensorflow as tf import numpy as np def add_layer(inputs, in_size, out_size, n_layer, activat ...

  5. 利用OpenVPN实现局域网内多台机器共享上网

    本文转载自 https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14- ...

  6. Codeforces 853B Jury Meeting (差分+前缀和)

    <题目链接> 题目大意: 有$ n(n<=1e5)$个城市和一个首都(0号城市),现在每个城市有一个人,总共有$ m (m<=1e5)$次航班,每个航班要么从首都起飞,要么飞到 ...

  7. CSRF自动化检测

    CSRF自动化检测: 这里主要是对POST型form表单的检测 1. 根据URL获取form表单组成的数组 2. 遍历表单数组,对比不设置cookie与设置了cookie两种情况下的表单是否还存在,如 ...

  8. kafka-manager配置和使用

    kafka-manager配置 最主要配置就是用于kafka管理器状态的zookeeper主机.这可以在conf目录中的application.conf文件中找到. kafka-manager.zkh ...

  9. WCF、WebAPI、WCFREST、WebService、WPF之间的区别

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  10. SpringBoot+Jpa+MySql学习

    上一篇介绍了springboot简单整合mybatis的教程.这一篇是介绍springboot简单整合jpa的教程. 由于jpa的功能强大,后续会继续写关于jpa的介绍已经使用,本文只是简单介绍一下它 ...