我有一個csv文件,我需要根據文件的前兩個字符添加一個唯一的ID。我有以下代碼:如何編輯文件,在開頭添加數據,而不用重寫整個文件?
using (StreamReader sr = new StreamReader(f))
{
string currentLine;
int id = 0;
while ((currentLine = sr.ReadLine()) != null)
{
string row = currentLine.ToString();
string FirstTwoCharacters = currentLine.Substring(0, 2);
if (FirstTwoCharacters == "01")
{
id = id + 1;
row += "*" + id.ToString();
using (StreamWriter files = File.AppendText(dir + newfilename))
{
files.WriteLine(row);
}
}
else
{
row += "*" + id.ToString();
using (StreamWriter files = File.AppendText(dir + newfilename))
{
files.WriteLine(row);
}
}
}
}
csv文件可能很大,1Gb大小,大約600萬行。只是需要建議,如果有更快的方法來處理這個問題,目前可能需要3個多小時來處理一個文件,並且可以一次接收多個文件。
塊之外的數據,而不是寫入每行的文件。這是很大的開銷。 – Jonesopolis
string row = currentLine.ToString(); ... string ToString? – EpicKip
將字符串轉換爲字符串,使得絕對可靠,或者只是一些錯誤的代碼......您決定。 – Leonidas199x