过滤txt文本数据的空行记录
在使用bulk insert将txt数据批量导入sqlserver数据时,经常需要判断txt的数据格式,
如果txt文本中出现空行,bulk insert进数据库时就会出现“大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)”,写了个函数避免发生类似错误发生。
引用空间
using System.Text.RegularExpressions;
using System.IO;程序部分:
string SourceFile = "FileManage/UploadedFiles/test.txt";
string SaveFile = "FileManage/UploadedFiles/file.txt";
//打开文件并显示其内容
StreamReader reader = File.OpenText(Server.MapPath(SourceFile)); 
Regex reg = new Regex(@"\r\n\s*\r\n");//"\r\n\s*\r\n"表示空行,该空行除了有n个空格,没有其他字符串
string FileStr = reg.Replace(reader.ReadToEnd().ToString(),"\r\n");//取得文件流,将空行替换掉
FileStr = FileStr.Substring(0,FileStr.LastIndexOf("\n"));//截取文件流去掉最后一个换行
FileStream fs = new FileStream(Server.MapPath(SaveFile),FileMode.OpenOrCreate,FileAccess.Write) ;
StreamWriter FileStream = new StreamWriter(fs);
FileStream.Flush();
// 使用StreamWriter来往文件中写入内容
FileStream.BaseStream.Seek(0,SeekOrigin.Begin);
// 把的文件流写入文件
FileStream.Write(FileStr);
//关闭此文件
FileStream.Flush();
FileStream.Close(); 
浙公网安备 33010602011771号