从目录中获取文件名

从目录中获取文件名

问题描述:

string[] klasorlistesi = Directory.GetFiles(path+"//notlar//"); 
foreach (string eleman in klasorlistesi) 
    listBox1.Items.Add(eleman); 

我从listBox中通过上面的代码从数组中获取数据。
BTW文件没有扩展名。从目录中获取文件名

我的问题是:
我希望出现在文件中只"not"而不是"C:\Users\Documents\Visual Studio 2008\not"列表框里面。

而且,我试图像下面的代码的事情,但它不工作:

System.IO.Path.GetFileName(@"C:\Users\Documents\Visual Studio 2008\not"); 

我怎么能这样做?

+0

没有该目录中? –

+2

“这不起作用”并不能很好地描述实际发生的事情。 –

+0

这叫做什么? –

您可以使用类似

listbox1.Items.Add(eleman.Substring(eleman.LastIndexOf('\\') + 1); 
+0

不完全 - 你会在那里得到\:P – Carsten

尝试将最后一行更改为:

listBox1.Items.Add(new FileInfo(eleman).Name); 

应该做的伎俩。

你可以做的另一个选择就是像这样自己提取它,但看起来有点混乱。可能快一点,但在你的情况下,你不应该注意到。

listBox1.Items.Add(eleman.Substring(eleman.LastIndexOf('\\') + 1)); 
+0

我认为这是比我的“更好的方式”,但它可能会很慢,因为它从磁盘读取所有文件信息... – ChrFin

+0

你的工作方式不会如你所愿:) – Carsten

+0

CKoenig - 谨慎详细说明? –

您是否尝试过

string s = Path.GetFileNameWithoutExtension(@"C:\Users\Documents\Visual Studio 2008\not"); 

结果不是