我喜欢导出一个文本文件以供某些无法处理空行或空行的 PLC 读取。WriteLine 中的 \r\n 在文本文件末尾生成一个空行,我无法找到一种方法来不生成它或删除它。
这就是我生成和编写这些行的方式:
List<string> lines = new List<string>();
lines.Add(...);
foreach (string line in lines)
{
file.WriteLine(line);
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码删除该行,但末尾的空行仍然存在:
List<string> lines = File.ReadAllLines(path).Where(arg => !string.IsNullOrWhiteSpace(arg)).ToList();
File.WriteAllLines(path, lines);
Run Code Online (Sandbox Code Playgroud)
我也尝试删除最后一行,但当然它删除最后一行而不是回车符。
lines = lines.GetRange(0, lines.Count - 1);
Run Code Online (Sandbox Code Playgroud)
该图像以图形方式展示了问题(左)和我想要实现的目标(右)
不首先生成空行将解决您的问题,因为您WriteLine每次调用时,它都会添加\r\n到每行的末尾,包括最后一行。您可以使用for循环来检查是否正在编写最后一行,调用Write方法而不是WriteLine:
for(int i=0; i < lines.Length; i++)
{
if(i == lines.Length - 1)
{
file.Write(line);
}
else
{
file.WriteLine(line);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1499 次 |
| 最近记录: |