关于文件读写的简单总结
FileStream: 该类是公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。 命名空间:System.IO 程序集:mscorlib(在 mscorlib.dll 中)
StreamReader:用于读取文本文件的类,可以指定编码方式。
StreamWriter:用于写文件的,默认 UTF8Encoding字符。可以写一个流,一个字符,一个字符数组等。
例如:
读取 Code
//先读取出来 fs = new FileStream(Server.MapPath("/") + "\\crossdomain.xml", FileMode.Open); sr = new StreamReader(fs); string strLine = sr.ReadLine(); string allLine = ""; string strHtml = ""; while (strLine != null) { allLine += strLine + "|"; strLine = sr.ReadLine(); } sr.Close();//释放,否则一直锁定文件。
写入 Code
aFile = new FileStream(Server.MapPath("/") + "\\crossdomain.xml", FileMode.Create); sw = new StreamWriter(aFile); var listline = allLine.Split('|'); string strValue = ""; foreach (string each in listline) { strValue += each; } sw.WriteLine(each); //清空缓冲区 sw.Flush(); } }
总结:思路很重要,当时做的时候对写配置文件有点迷茫,关键没有思路,虽然知道读写类,但读写是由规律的。铭记一下。
如:将开头文件替换这种思想:
allLine = allLine.Replace("<cross-domain-policy>", "<cross-domain-policy>|<allow-access-from domain='" + name + "'/>");
同理,删除的时候 allLine = allLine.Replace("|<allow-access-from domain='" + name + "'/>", ""); 替换为" "即可。