/// <summary>
/// LineIndex 表示新的内容所在的行位置
/// </summary>
/// <param name="sFileName"></param>
/// <param name="sOrigionContent"></param>
/// <param name="sNewLineContent"></param>
/// <param name="LineIndex"></param>
public static void SaveTxtReplaceOneLine(string sFileName, string sOrigionContent, string sNewLineContent, int iNewLineIndex)
{
try
{
StringBuilder sbNewSave = new StringBuilder();
sFileName = sFileName.Replace("|", "_");
string sFolder = Directory.GetParent(sFileName).ToString();
if (!System.IO.Directory.Exists(sFolder))
{
System.IO.Directory.CreateDirectory(sFolder);
}
if (!System.IO.File.Exists(sFileName))
{
throw new Exception("file not exist");
}
string[] arrLine = sOrigionContent.Trim().Split(Convert.ToChar(Keys.Return));
for (int i = 0; i < iNewLineIndex; i++)
{
sbNewSave.AppendLine(arrLine[i].Trim('\r').Trim('\n'));
}
sbNewSave.AppendLine(sNewLineContent);
for (int i = iNewLineIndex + 1; i < arrLine.Length; i++)
{
sbNewSave.AppendLine(arrLine[i].Trim('\r').Trim('\n'));
}
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(sbNewSave.ToString().Trim());
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
}
}