如何从特定的文件行创建文件,避免空行?

时间:2013-10-08 10:10:01

标签: c# c#-4.0

我正在尝试根据文件的前10行创建文件。

这是我到目前为止所得到的:

var lines2 = File.ReadLines(fileName).Take(10);
foreach (string newFile in lines2)
{
    CreateiniFile(folder, newFile);
}

这是在这里调用CreateiniFile

static void CreateiniFile(string directory, string name)
{
    string filename = String.Format("File_" + name + ".ini");
    string path = Path.Combine(directory, filename);
    if (!File.Exists(path))
    {
        using (StreamWriter sw = File.CreateText(path))
        {
            sw.WriteLine("Text");
            sw.Close();
        }
    }
}

如果所有10行都有数据,则会创建正确的文件,但如果任何行为空,则会创建文件File_.ini

如何根据空值返回停止创建文件?

1 个答案:

答案 0 :(得分:1)

如果你想要前10个非空行:

var lines2 = File
    .ReadLines(fileName)
    .Where(line => !string.IsNullOrEmpty(line))
    .Take(10);

如果你想要最多10个第一个非空行:

var lines2 = File
    .ReadLines(fileName)
    .Take(10)
    .Where(line => !string.IsNullOrEmpty(line));