我有一个“|”我想要做的所有分隔文件都读取其中的所有行以及“< \ HRM>”存在将其替换为“”(无)。并且“HRM”存在的地方将其替换为;它必须按照读入的顺序写出所有内容。
我想通过编辑原始编写而不是编写新编写来完成此操作。如果我必须写出一个新文件,那么我想我必须这样做。
答案 0 :(得分:2)
问题是文件有多大可能会改变解决方案,或者至少减慢它的速度。
using (StreamReader stream = new StreamReader(File.Open(@"YourFilePath", FileMode.Open)))
{
string fileText = stream.ReadToEnd();
// Do your replacements
fileText = fileText.Replace(@"<\HRM>", string.Empty);
fileText = fileText.Replace(@"HRM\", ";");
using (StreamWriter writer = new StreamWriter(File.Open("@YourFilePath", FileMode.Create)))
{
// You do a create because the new file will have less characters than the old one
writer.Write(fileText);
}
}
答案 1 :(得分:0)
你想要写一个新的。这样做有很好的理由,其中最重要的是它会快得多。它还可以为您提供一定程度的数据安全性(断电不会导致潜在的数据丢失/损坏。
普遍接受的程序符合
答案 2 :(得分:0)
您必须重新编写该文件,因为您将剥离字符并因此使其更紧凑 - 除非您想要替换您的&lt; \ HRM&gt;用相同的空格来保留持仓量。
String.Replace(“改变这个”,“改为此”)