在最近得项目中,为了监控一些敏感违规得文字内容,涉及到了一个检测敏感词得一个功能吧。就需要字符串的读写,到这儿就不得不提起,TextReader、TextWriter、sStreamReader、StreamWriter、StringReader、StringWriter,这对夫妇以及4个孩纸~。
TextReader:读取有序字符系列的读取器,抽象类
TextWriter:编写有序字符系列的编写器,抽象类
这两个基本没啥好说的,我们经常用的是孩纸,
1、StreamReader、StreamWriter,一读一写(从流中进行读、写字符,派生类)
//filename,文件路径,例:C:\\私人\\test.txt(文件存在则覆盖,没有则创建)
StreamWriter sw = new StreamWriter(filename);
//将字符串写入流。 如果字符串为 null,则不写入任何内容
sw.Write("hello");//异步:WriteAsync
//将字符串写入该流,后跟行结束符, 如果字符串为 null,则只写入行终止符。
sw.WriteLine("\nworld");//异步:WriteLineAsync,换行写入:用\n或\r
sw.Dispose();
StreamReader sr = new StreamReader(filename);
string temp = sr.ReadToEnd();//从当前位置读到结尾。 如果当前位置位于流结尾,则返回空字符串 (“”)。
//temp = sr.Read();//从当前位置,读取输入流中表示为 Int32 对象的下一个字符。重点:如果不再有可用的字符,则为 -1。
//temp = sr.ReadLine();//从当前位置,读取输入流中的下一行;如果到达了输入流的末尾,则为 null。
sr.Dispose();
2、StringReader、StringWriter(从字符串中进行读、写字符,派生类)
StringBuilde