c#如何在行尾文本文件中添加文本
本文关键字:文本 文件 添加 | 更新日期: 2023-09-27 18:09:22
我有一个像这样的文本文件
IPen ID,Datetime,Status,Data Received
是否可以在行末尾添加一些word
。我想添加一些word
所以最终结果是:
IPen ID,Datetime,Status,Data Received,Data Reply
我已经浏览和搜索,结果只显示追加文本在新的行,但这不是我想要的,我想追加文本在行结束。有什么建议吗?
这不是太清楚你在问什么,但听起来像你在说,任何行在一个文件中,有文本"IPen ID,Datetime,Status,Data Received"
应该替换为文本"IPen ID,Datetime,Status,Data Received,Data Reply"
。
如果是这种情况,那么下面的代码可以工作:
File
.WriteAllLines(@"path",
File
.ReadAllLines(@"path")
.Select(x =>
x + (x == "IPen ID,Datetime,Status,Data Received" ? ",Data Reply" : "")));
您可以像这样在现有文件的末尾添加文本:
using (var stream = new StreamWriter("Your file path here"))
{
stream.Write("Your text here");
}
该方法只会在文件末尾已经有行结束符的情况下将文本添加到新行。否则,它将在同一行添加。
这也只在文件的末尾添加文本,如果您需要选择行或插入到符合特定条件的所有行中,这将稍微复杂一些,但如果您确切地告诉我您需要什么,我可以向您展示。
编辑:由于你需要在一行中间添加文本,我们应该读取所有行,然后更改并将它们保存回文件: // Define your file path.
var filePath = "Your file path here";
// Fill an array with the lines from the txt file.
var txtLines = File.ReadAllLines(filePath);
// Change all lines into what you want.
var changedLines = ChangeLines(txtLines);
// Write the file with all the changed lines.
File.WriteAllLines(filePath, changedLines);
这是如何改变行:
public static IEnumerable<string> ChangeLines(IEnumerable<string> lines)
{
foreach (var line in lines)
{
yield return line.Replace("A C", "A B C");
}
}
这将用"A B C"替换所有出现的"A C"。如果你想在一些文本之后,之前,将一行分成两行或任何你想要的东西,你可以改变这个方法来做你想做的事情,所有的改变都会被保存回文件中。