c#获取特定文件名

时间:2013-04-15 22:25:54

标签: c# file

如何根据我当前的读入方法

获取文件的特定文件名

我以这种方式抓取文件:

    var lines = Directory.GetFiles(path, "prefix*.csv").Select(
        fn => File.ReadAllLines(fn).Select(a => a.Split(',')).ToList()).ToList();

每个文件完成后我想将文件从一个位置移动到另一个位置,但我没有确切的文件名:

     File.Move(path, destPath);

2 个答案:

答案 0 :(得分:3)

不要滥用LINQ。如果你需要中间的数据(比如文件名),那么就从你的链式LINQ语句中删除一些部分来完成你想要做的事情。

foreach (var filename in Directory.GetFiles(path, "prefix*.csv)) {
    var linesFromOneFile = File.ReadAllLines(filename)
                               .Select(a => a.Split(',')).ToList();

    // Whatever else with 'filename'
    File.Move(...);
}

答案 1 :(得分:0)

在这种情况下,我认为将操作分成多个步骤而不是一个链式命令会更明智。存储您的文件名,然后根据需要对其进行处理,然后遍历文件名集合,只需将它们移动到您想要的位置即可。