我正在尝试创建一个应用程序,用逗号替换某些数据中的空格并返回更新的文件,但是到目前为止,我创建的代码似乎没有太大的作用,有人可以指出我要去错了吗?
public IActionResult FormatFile()
{
var webroot = _env.WebRootPath;
var filepath = TempData["filepath"].ToString();
string[] reader = System.IO.File.ReadAllLines(Path.Combine(webroot, filepath));
foreach (var line in reader)
{
if(line.Contains(" "))
{
line.Replace(" ", ",");
System.IO.File.WriteAllLines(filepath, reader);
}
}
return Content(System.IO.File.ReadAllText(filepath));
}
预先感谢
答案 0 :(得分:1)
有两个错误。首先Replace
不会对对象进行任何更改,它将返回更新的对象。因此,您需要编写line = line.Replace(" ", ",");
。
您正在编写reader
对象而不是line
对象。应该像System.IO.File.WriteAllLines(filepath, line.Replace(" ", ","));
完整的代码如下所示。
public IActionResult FormatFile()
{
var webroot = _env.WebRootPath;
var filepath = TempData["filepath"].ToString();
string[] reader = System.IO.File.ReadAllLines(Path.Combine(webroot, filepath));
foreach (var line in reader)
{
System.IO.File.WriteAllLines(filepath, line.Replace(" ", ","));
}
return Content(System.IO.File.ReadAllText(filepath));
}