C# 从字符串中分离文件路径、文件名及扩展名
对文件进行操作时,首先要获取文件路径信息,然后创建文件对象,通过IO流将数据读取大宋内存中并进行处理。在操作文件时,可能还需要提取文件的一些信息,比如,文件路径,文件名,扩展名等等,实例如下:
主要用到 打开文件选择对话框,可以选择一个或多个文件,使用需引入命名空间:Microsoft.Win32,以及对获取的文件路径进行截取Substring方法,代码如下
private void btn_select_file_Click(object sender, EventArgs e)
{OpenFileDialog openFileDialog = new OpenFileDialog();if (openFileDialog.ShowDialog() == DialogResult.OK){//string filePathALL = openFileDialog.FileName;string filePathALL = "C:\\decktop\\file\\books\\C#学习.exe";//文件路径string str_path = filePathALL.Substring(0, filePathALL.LastIndexOf("\\") + 1);//文件名字string str_name = filePathALL.Substring(filePathALL.LastIndexOf("\\") + 1,filePathALL.LastIndexOf(".") - (filePathALL.LastIndexOf("\\") + 1));//文件扩展名string str_exc = filePathALL.Substring(filePathALL.LastIndexOf(".") + 1,filePathALL.Length - filePathALL.LastIndexOf(".") - 1);//string str_exc = filePathALL.Split('.')[1].ToString(); // 也可以使用Split方法lbl_file_path.Text = "文件路径:" + str_path;lbl_file_name.Text = "文件名称:" + str_name;lbl_file_exc.Text = "文件扩展时:" + str_exc;}
}
IndexOf()方法与LastIndexOf()方法的异同:
都是用来查找字符或字符串在指定字符串中的索引,如果未能找到返回-1。不同在于IndexOf()从指定字符串的前端往后端找到匹配的第一个的索引,LastIndexOf()从指定字符串的后端往前端找到匹配的第一个的索引。