繁体   English   中英

如何在不包含目录路径的情况下返回目录文件/文件夹?

[英]How can I return a directories files/folders without the directory path included?

我正在尝试提取文件夹中的文件列表,目前正在使用:

 string[] files = Directory.GetFiles(txtbxNewFolder.Text);

但这会返回“C:\\ Users \\ Dahlia \\ Desktop \\ New Folder \\ jerry.txt”之类的内容。 有没有办法只返回“jerry.txt”,还是我需要对数组字符串进行某种拆分?

我还试图返回目录中的文件夹列表,目前正在使用:

string[] folders = Directory.GetDirectories(txtbxOldFolder.Text);

但这会返回“C:\\ Users \\ Dahlia \\ Desktop \\ New Folder \\ folder1”之类的内容。 有没有办法只返回“folder1”,还是我需要对数组字符串进行某种拆分?

使用LINQ,您可以获得仅包含文件的列表:

Directory.GetFiles(txtbxNewFolder.Text).Select(f => Path.GetFileName(f));

虽然不是GetFiles我可能会使用:

Directory.EnumerateFiles(txtbxNewFolder.Text).Select(f => Path.GetFileName(f));

获取目录名称并不是那么简单,但这应该有效(未经测试):

Directory.GetDirectories(txtbxOldFolder.Text)
    .Select(d => new DirectoryInfo(d).Name);

同样,有一个:

Directory.EnumerateDirectories(txtbxOldFolder.Text)
    .Select(d => new DirectoryInfo(d).Name);

您可以使用Path.GetFileName和LINQ

例如:

string[] files = Directory.GetFiles(txtbxNewFolder.Text)
                          .Select(f => Path.GetFileName(s))
                          .ToArray();

看看FileInfo和DirectoryInfo类。

你可以做:

foreach (String file in files) {
    var fi = new FileInfo(file);
    Console.Out.WriteLine(fi.Name);
}

与DirectoryInfo类似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM