C#文件操作
- 将数据写入txt文件中
//在这个路径创建文件
string Path = "E:\\TestNeedFile\\";
//具体到路径下的文件名
string PostPath = Path + DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
//在此路径下创建对象并给定权限()
FileStream fs = new FileStream(PostPath, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite,FileShare.ReadWrite);
//写入
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("这是写入的数据");
sw.Flush();
sw.Close();
2.将数据写入csv文件中
//先设置第一行的数据,每一列的类型
//首先模拟建立将要导出的数据,这些数据都存于DataTable中
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Type", typeof(string));
dt.Columns.Add("StationID", typeof(string));
dt.Columns.Add("Time", typeof(string));
//创建行的对象
DataRow row;
//将每一行的数据添加到datatable中
for (int i = 0; i < 3; i++)
{
string time = DateTime.Now.ToString("yyyyMMddHHmmss");
row = dt.NewRow();
row["ID"] = "123";
row["Name"] = "成龙";
row["Type"] = "男";
row["StationID"] = "666";
row["Time"] = time;
dt.Rows.Add(row);
}
//在这个路径创建文件
string Path = "E:\\TestNeedFile\\";
//具体到路径下的文件名
string PostPath = Path + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
//在此路径下创建对象并给定权限()
FileStream fs = new FileStream(PostPath, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite,FileShare.ReadWrite);
//写入
StreamWriter sw = new StreamWriter(fs,new System.Text.UnicodeEncoding());
//写入头部第一行
for (int i = 0; i < dt.Columns.Count; i++)
{
sw.Write(dt.Columns[i].ColumnName);
sw.Write("\t");
}
sw.WriteLine("");
//写入之后的每一行
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
sw.Write(dt.Rows[i][j].ToString());
sw.Write("\t");
}
sw.WriteLine("");
}
sw.Flush();
sw.Close();
3.不同参数下的StreamWriter类构造函数
//是以默认的形式进行,字符的编码默认是UTF-8.
public StreamWriter(Stream stream);
//引入了具体的字符编码Encoding,默认的情况是UTF-8
public StreamWriter(Stream stream, Encoding encoding);
//append为true时代表已有同名文件时追加,为false时代表有同名文件时覆盖
public StreamWriter(string path, bool append);