StreamWriter
BaseStream 属性,获取其内部的文件流对象
WriteLine 向流写入一行,效果是向文件写入一行
Flush 清空写缓冲区
Close 关闭StreamWriter内置的文件流
StreamReader
BaseStream 属性,获取其内部的文件流对象
ReadLine 从流中读取一行,效果是从文件读取一行
ReadToEnd 从流中读取所有数据,效果是读取文件所有内容
Close 关闭StreamReader内置的文件流
流写入器常用的构造方式:
StreamWriter
StreamWriter(Stream 操作的文件流对象)
StreamWriter(String 写入的文件)
StreamWriter(String 写入的文件,bool 是否追加) //True 表示追加 False表示不追加
StreamWriter(String 写入的文件,Encoding 编码方式)
示例:
StreamWriter sw = new StreamWriter(File.OpenWrite(@"c:\1.txt"));
StreamWriter sw =new StreamWriter(@"c:\1.txt");
StreamWriter sw =new StreamWriter(@"c:\1.txt",True);
StreamWriter sw =new StreamWriter(@"c:\1.txt",System.Text.Encoding.Default);
StreamReader
StreamReader(Stream 读取的文件流);
StreamReader(string 读取的文件);
File.OpenText(String 读取的文件);
StreamReader(String 读取的文件,Encoding 解码方式)
示例:
StreamReader sr= new StreamReader(File.OpenRead(@"c:\1.txt"));
StreamReader sr= new StreamReader(@"c:\1.txt");
StreamReader sr= File.OpenText(@"c:\1.txt");
StreamReader sr= new StreamReader(@"c:\1.txt",System.Text.Encoding.Default);
代码实例:
使用StreamReader读文件
//得到sr对象,sr对象可对文件进行读取(使用了Encoding编码方式)
StreamReader sr = new StreamReader(textBox2.Text,System.Text.Encoding.Default);
//将文件内所有内容读到textbox1.text中
textBox1.Text = sr.ReadToEnd();
//关闭sr文件流对象
sr.Close();
使用StreamWriter写文件
//得到sr对象,sr对象可对文件进行写入(使用了Encoding编码方式)
StreamWriter sw = new StreamWriter(textBox2.Text,System.Text.Encoding.Default);
//sw对象的文件进行写操作,写入的内容是textbox1.text
sw.Write(textBox1.Text);
//关闭sw文件流对象
sw.Close();
eg:
向txt数据文件中写入数据
StreamWriter Spath = File.AppendText(Server.MapPath(".") + "\\1.txt" );
sw.WriteLine("mkList(\"练习题\")");
sw.WriteLine("mkList(“数据写入")");
sw.Flush(); //将缓冲区的内容写入文件
sw.Close(); //将缓冲区的内容写入文件
乱码解决
string Spath = Server.MapPath(".") + "\\1.txt";
StreamWriter sw = new StreamWriter(Spath, true, System.Text.Encoding.GetEncoding("gb2312"));
sw.WriteLine("mkList(\"练习题\")");
sw.Flush();
sw.Close();
asp.net 向文本文件(txt)指定行(第n行)插入数据
page_load
{
string Path = Server.MapPath("1.txt");
string str = "嘻嘻嘻";
insertStr(SPath,str,4);s
}
public void insertStr(string Path,string str,int n)
{
string strLineStart = "";
string strLineEnd = "";
string strLineEnd2 = "";
string strLine = "";
try
{
//实例化一个StreamReader对象,并申明编码为GB2312
StreamReader sr = new StreamReader(Path, Encoding.GetEncoding("GB2312"));
//读取插入前的数据
for (int i = 0; i < n; i++)
{
strLineStart += sr.ReadLine() + "\r\n";
}
//后面的数据
while (strLineEnd != null)
{
strLineEnd = sr.ReadLine();
strLineEnd2 += strLineEnd + "\r\n";
}
strLine = strLineStart + str + "\r\n" + strLineEnd2;
//关闭
sr.Dispose();
sr.Close();
StreamWriter sw = new StreamWriter(Path, false, Encoding.GetEncoding("GB2312"));
sw.WriteLine(strLine);
//关闭
sw.Flush();
sw.Dispose();
sw.Close();
}
catch
{
}
}