public static void SaveTxt(string sFileName, string sContent)
{
try
{
string sFolder = Directory.GetParent(sFileName).ToString();
if (!System.IO.Directory.Exists(sFolder))
{
System.IO.Directory.CreateDirectory(sFolder);
}
if (System.IO.File.Exists(sFileName))
{
System.IO.File.Delete(sFileName);
}
if (!System.IO.File.Exists(sFileName))
{
FileStream fs;
fs = File.Create(sFileName);
fs.Close();
}
FileStream fsTxtWrite = new FileStream(sFileName, FileMode.Create, FileAccess.Write);
StreamWriter srWrite = new StreamWriter(fsTxtWrite, System.Text.Encoding.UTF8);
//StreamWriter srWrite = new StreamWriter(fsTxtWrite, System.Text.Encoding.Default);
srWrite.Write(sContent);
srWrite.Close();
srWrite.Dispose();
fsTxtWrite.Dispose();
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
#region ### error info
try
{
string sFolder = Directory.GetParent(sFileName).ToString();
string sErrFullName = sFolder + "_err_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
if (!System.IO.File.Exists(sErrFullName))
{
FileStream fs;
fs = File.Create(sErrFullName);
StreamWriter srWrite = new StreamWriter(fs, System.Text.Encoding.UTF8);
srWrite.Write(sFileName);
srWrite.Close();
srWrite.Dispose();
fs.Close();
}
}
catch (Exception ex2)
{ }
#endregion ###error
}
}
调用方法:
Common.SaveTxt(Common.GetAppValue("SnatchOutFolder_Bus")+@"\AreaList.txt", "你要保存的文件内容");
public static string ReaderFile(string path)
{
string fileData = string.Empty;
try
{ ///读取文件的内容
StreamReader reader = new StreamReader(path,Encoding.Default);
fileData = reader.ReadToEnd();
reader.Close();
}
catch(Exception ex)
{
// throw new Exception(ex.Message,ex);
} ///抛出异常
return fileData;
}
调用方法:
string sContent = Common.ReaderFile("你的文件名");
或者可以考虑以下的方法:
读取文本参考:
public static List<string> GetContent(string sFileFullName)
{
List<string> lstTmp=new List<string>();
if (!System.IO.File.Exists(sFileFullName)) return lstTmp;
//若文档中有中文,就要用下面的格式
StreamReader sr = new StreamReader(@sFileFullName, Encoding.GetEncoding("gb2312"));
string sFile = sr.ReadToEnd();
string[] vals = sFile.Replace("\r\n","|").TrimEnd('|').Split('|');
for (int i = 0; i < vals.Length; i++)
{
lstTmp.Add(vals[i]);
}
sr.Dispose();
return lstTmp;
}
写文本参考:
public static void WriteText(String msg)
{
string logfiles = APP_FOLDER.TrimEnd('\\') + @"\ProjectLog\";
logfiles += DateTime.Now.ToString("yyyy")
+ @"\" + DateTime.Now.ToString("yyyyMM");
if (!Directory.Exists(logfiles))
{
Directory.CreateDirectory(logfiles);
}
logfiles += @"\" + DateTime.Now.ToString("yyyy_MM_dd") + ".txt";
// string logfiles = ConfigurationManager.AppSettings["IssueFile"];
//string logfiles = String.Concat("\\\\", Dts.Variables["User::FILE_SHARE"].Value.ToString(), Dts.Variables["User::Done"].Value.ToString(), "\\") + "Issues.txt";
//create stream and open file
using (FileStream fs = new FileStream(logfiles, FileMode.Append))
{
//set the encoding to UTF-8
using (StreamWriter writer = new StreamWriter(fs, Encoding.UTF8))
{
writer.WriteLine("\r\n@ " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + "\r\n " + msg);
}
}
}