2011-10-05 44 views
13

tôi có mã này:làm cách nào để chỉ lấy tên tệp mà không có Đường dẫn Tệp?

openFileDialog1.Filter = "csv files (*.dbf)|*.dbf"; 
openFileDialog1.FilterIndex = 1; 
openFileDialog1.RestoreDirectory = true; 
openFileDialog1.FileName = ""; 

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    dbf_File = openFileDialog1.FileName; 
} 

trong dbf_File tôi nhận được tất cả các đường dẫn tập tin và tên (c:\MyDir\MyFile.dbf)

tôi cần chỉ có tên - MyFile.dbf

+0

Câu hỏi sửa đổi ... – CJM

+0

Có không bất kỳ openFileDialog1.FileTitle? – Rasel

+0

@Rasel: Không. Http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx – CJM

Trả lời

17

Chỉ tên tập tin (với phần mở rộng):

dbf_File = System.IO.Path.GetFileName(dbf_File); 

Chỉ thư mục chứa:

string dbf_Path = System.IO.Path.GetDirectoryName(dbf_File); 
+0

cảm ơn sự giúp đỡ !, và làm thế nào để có được con đường? - (c: \ MyDir)? – Gali

+1

Bạn nên kiểm tra các phương thức tĩnh khác trong không gian tên ** System.IO.Path **. Có rất nhiều công cụ hữu ích và chúng khá tự giải thích. – Ishmaeel

1

Tôi nghĩ rằng bạn muốn Path.GetFileName, mà trả về :

Ký tự sau ký tự thư mục cuối cùng trong đường dẫn. Nếu ký tự cuối cùng của đường dẫn là một ký tự phân cách thư mục hoặc khối lượng, phương thức này trả về String.Empty.

(Nghe có vẻ như trái với tiêu đề của bạn, bạn làm muốn phần mở rộng tập tin - bạn không muốn đường dẫn cho thư mục chứa các tập tin.)

-1

dbf_File = path.split ('\'). getValue (path.split ('\'). Lenth-1);

1

openFileDialog1.SafeFileName sẽ nhận được danh hiệu MyFile.dbf

Các vấn đề liên quan