我正在使用StreamReader将我使用SQLExplorer创建的.sql文件导入到我的.NET程序中(最终将通过OdbcConnection传递给fyi。)问题是当我使用ReadToEnd()
方法时不仅导入SQL本身,而且导入所有格式。因此,字符串中充满了\r
和\t
等。
我一直在寻找使用split或者正则表达式来打破字符串并删除不需要的碎片。但在投入大量精力之前,我想知道在StreamReader类中是否还有一些我缺失的东西?有没有办法告诉它只是忽略格式化字符?
这是我现在的代码:
public static Object SQLQueryFileCall(String SQLQueryFileName){
string SQLQuery = "";
string directory = System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location);
SQLQueryFileName = directory + "\\" + SQLQueryFileName;
//read in the file and pass to ODBC, return a Object[] of whatever comes back...
try{
using (StreamReader myStreamReader = new StreamReader(SQLQueryFileName)) {
SQLQuery = myStreamReader.ReadToEnd();
Console.WriteLine(SQLQuery);
}
}
catch (Exception e){
//Find the error
Console.WriteLine("File could not be read:");
string error = e.Message;
MessageBox.Show(error);
return null;
}
}
随意提供您对代码的任何建议,因为我很新。
但是,是的,我只是希望StreamReader类中有一个方法,我只是不理解。我已经去了微软的在线文档,我觉得我已经给了它一个好看的样子,但是再一次,我是新的,也许这个概念跳过了我的头脑?
任何帮助?
注意:有些\t
位于某些行的中间,需要将其删除。因此,使用装饰会......至少是棘手的。
答案 0 :(得分:1)
另外,盲目地剥离空白可能会对脚本中包含的文本数据产生影响;如果你有一个包含制表符的字符串文字,会发生什么?
答案 1 :(得分:0)
这是2020年对我的帮助,以防万一有人正在寻找这个东西
a,b,c