/// <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 } }