1

我正在尝试根据文件的前 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

如何停止它基于空返回创建文件?

4

1 回答 1

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));
于 2013-10-08T10:12:37.917 回答