需要帮助在 C# 中格式化单独的 .txt 文件。我有一个包含目录列表的文本文件,当我在记事本或超级编辑中打开时如下所示。第一列是日期和时间,下一列是文件大小(以字节为单位),第三列是用户名,第四列是文件名。每列由一个或多个空格分隔,最后的文件名列可以在文件名中包含空格。它们由更多的目录组成,文件中的总行数约为 200,000。
V 目录:\word
01/10/2013 12:30 PM 23,000 BUILTIN/ADMINISTRATOR FILE NAME.XLS 10/25/2013
10:39 AM 1,332,432 AMERICAS/DOEJ FILENAME2.CSV
11/31/2000 09:54 PM 21,999,999 AMERICAS /DOEF F_I_L_E_N_A_M_E_4.PDF
V:\word\administrators 目录
01/10/2013 12:30 PM 23,000 BUILTIN/ADMINISTRATOR FILENAME.XLS
10/25/2013 10:39 AM 1,332,432 AMERICAS/DOEJ FILENAME2.CSV
11/31/200 09:54 PM 21,999,999 美洲/DOEF F_I_L_E_N_A_M_E_4.PDF
我的目标是尝试在文件名末尾以固定格式添加目录路径(例如 V:\Word 或其他目录)。因此,一旦您看到“Directory V:\word”,那么您就知道之后的每一行,直到一个新的目录,应该在文件名的末尾显示该路径。这将被视为第五列。
这是一些代码,但我仍然需要帮助。我能够在文件末尾获得 V:\word,但是如何读取新目录并将其附加到所有后续行的行尾?
private void button1_Click(object sender, EventArgs e)
{
var sbText = new StringBuilder(10000);
string currLine = " Directory of V:\\word ";
try
{
using (StreamReader Reader = new StreamReader(@"C:\V.txt"))
{
while (!Reader.EndOfStream)
{
if (currLine != " Directory of V:\\word ")
{
MessageBox.Show("No Directory");
}
else
{
sbText.AppendLine(Reader.ReadLine() + "V:\\word");
}
}
// When all of the data has been loaded, write it to the text box in one fell swoop
richTextBox1.Text = sbText.ToString();
using (StreamWriter Writer = new StreamWriter(@"C:\NEWFILE.txt"))
{
Writer.WriteLine(sbText);
}
}
}
catch (Exception ex)
{
MessageBox.Show("An error has occured. " + ex.Message);
}