2013-07-01 3 views
1

Когда я использую e.Fullname или e.Name по файлу, он дает мне полное имя + расширение, но мне просто нужно имя файла, не так: «. Txt» после имени.C# e.Fullname без расширения

Как показать только имя файла без расширения позади него? Есть ли для этого конкретный код?

Должен ли я получить расширение от e.fullname и просто использовать кусок, который остается как имя без расширения? Какой из них я должен делать?

Как на это:

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) 
    { 
     listBox1.Items.Add("File changed> " + e.FullPath + " -Date:" + DateTime.Now); 

     name = e.Name; 
     extension = Path.GetExtension(e.FullPath); 
     size = e.Name.Length; 
} 
+3

Было бы здорово, если бы мы знали, какой тип объекта 'e' был. –

+1

система не может точно идентифицировать ext файла, например .paf.exe (вместе) является ext, но система может обрабатывать только .exe как ext, но вы должны знать, какие файлы вы работаете, и просто удалить желание ext с некоторыми простыми строками ops –

ответ

12

System.IO.Path имеет GetFileNameWithoutExtension метод, который звучит, как он делает то, что вы ищете:

Возвращает имя файла указанной строки пути без расширения ,

+0

^this. 'var fileName = Path.GetFileNameWithoutExtension (e.FullPath);' –

2

Непонятно, какой API вы используете, но кажется, что у вас есть имя файла в переменной e.Fullname.

Чтобы очистить имя файла, вы можете использовать методы из System.IO.Path class. В вашем случае вы должны использовать метод System.IO.Path.GetFileNameWithoutExtension.

Смежные вопросы