返回FileName仅在使用OpenFileDialog时

时间:2008-12-04 22:05:24

标签: vb.net

我使用以下方法浏览文件:

    OpenFileDialog.ShowDialog()
    PictureNameTextEdit.Text = OpenFileDialog.FileName

有没有办法获得文件名?

FileName 方法返回整个路径和文件名。

即。我想要Foo.txt而不是C:\ SomeDirectory \ Foo.txt

8 个答案:

答案 0 :(得分:44)

使用Path.GetFileName(fullPath)获取文件名部分,如下所示:

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)

答案 1 :(得分:2)

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)

答案 2 :(得分:2)

用于获取OpenFileDialog中的文件名和完整路径的C ++代码:

textBox1->Text = OpenFileDialog1->FileName; //complete path textBox1->Text = System::IO::Path::GetFileName(OpenFileDialog1->FileName); //filename

答案 3 :(得分:0)

//Following code return file name only 

string[] FileFullPath;
string FileName;
objOpenFileDialog.Title = "Select Center Logo";
objOpenFileDialog.ShowDialog();

FileFullPath = objOpenFileDialog.FileNames[0].ToString().Split('\\');
FileName = FileFullPath[FileFullPath.Length - 1]; //return only File Name

//Use following code if u want save other folder , 
// following code save file to CenterLogo  folder which inside bin folder//

System.IO.File.Copy(OFD.FileName, Application.StartupPath + 
"/CenterLogo/" + FileName, true);

答案 4 :(得分:0)

假设我选择了名为“MyFileName.docx”的word2010文件

这仅适用于选定的文件扩展名“包括点标记,f.e(.docx)”

MsgBox(System.IO.Path.GetExtension(Opendlg.FileName))

这对于没有扩展名的所选文件名:( MyFileName)

MsgBox(System.IO.Path.GetFileNameWithoutExtension(Opendlg.FileName))

你可以尝试“PATH类”的其他选项,如:GetFullPath,GetDirectoryName ......等等。

答案 5 :(得分:0)

如果您只想要没有扩展名的所选名称,则可以尝试使用此代码

Imports System.IO


PictureNameTextEdit.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.Fi‌​leName)

感谢名单

答案 6 :(得分:-1)

使用SafeFileName而不是FileName,它将返回一个没有路径的名称(和扩展名)。

答案 7 :(得分:-1)

使用此代码将文件名放在PictureNameTextEdit:

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = OpenFileDialog.SafeFileName