当前位置: 首页 > article >正文

C# 从字符串中分离文件路径、文件名及扩展名

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()从指定字符串的后端往前端找到匹配的第一个的索引。


http://www.kler.cn/news/316364.html

相关文章:

  • C# winforms DataGridView设置数据源自动显示表格
  • Go 第二期
  • 界面控件Telerik UI for WinForms 2024 Q3概览 - 支持合并单元格等
  • (已解决)vscode如何选择python解释器
  • 【学习笔记】SSL/TLS安全机制之HSTS
  • apt-get install 安装的tomcat配置
  • biopython提取.cif文件的变换矩阵
  • spring全家桶使用教程
  • Kotlin 操作符 in 的基本使用(十)
  • docker存储
  • 2.《DevOps》系列K8S部署CICD流水线之部署NFS网络存储与K8S创建StorageClass
  • 2016年国赛高教杯数学建模A题系泊系统的设计解题全过程文档及程序
  • Python基础学习(3)
  • SpinalHDL之结构(二)
  • rabbitmq整合skywalking并编写自定义插件增强
  • 超详图解 Apache HTTP Server(httpd)安装与验证
  • 设计模式 享元模式(Flyweight Pattern)
  • 『功能项目』QFrameWorkBug修改器界面【65】
  • 数据结构(十四)——HashMap与HashSet(OJ题)
  • Git 提交规范
  • Flyway 数据库差异处理
  • 机器人速度雅可比矩阵求解(2自由度平面关节机器人)
  • Perl 进程管理
  • 【Nginx-Location-Root】最终访问的路径是 root/$uri
  • 程序员锤炼核心竞争力的五重策略
  • 《Linux基础》练习操作
  • Redis中的setnx的使用场景
  • 2024年中国科技核心期刊目录(自然科学卷)科技统计源核心(续)
  • 网络通信——路由器、交换机、集线器(HUB)
  • 【深度学习】(5)--搭建卷积神经网络