按照这个主题后我可以创建新行,但我的问题是如何将新行保存或写入文件?
我试过'StreamWriter',但它只写了新创建的行.
有什么建议吗?
到目前为止,这是我的代码:
string path = @"C:/CSV.txt";
string[] lines = File.ReadAllLines(path);
var splitlines = lines.Select(l => l.Split(','));
foreach (var line in splitlines)
{
if(line[1].Contains("34"))
{
line[1] = "100";
var newline = string.Join(",", line);
StreamWriter sr = new StreamWriter(path);
sr.WriteLine(newline);
sr.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
以下是使用StreamReader
类的解决方案:
String path = @"C:\CSV.txt";
List<String> lines = new List<String>();
if (File.Exists(path));
{
using (StreamReader reader = new StreamReader(path))
{
String line;
while ((line = reader.ReadLine()) != null)
{
if (line.Contains(","))
{
String[] split = line.Split(',');
if (split[1].Contains("34"))
{
split[1] = "100";
line = String.Join(",", split);
}
}
lines.Add(line);
}
}
using (StreamWriter writer = new StreamWriter(path, false))
{
foreach (String line in lines)
writer.WriteLine(line);
}
}
Run Code Online (Sandbox Code Playgroud)
如果要覆盖该文件,请使用此 StreamWriter构造函数append = false
.
归档时间: |
|
查看次数: |
20387 次 |
最近记录: |