C#——Path类详情

news/2024/7/8 1:57:37 标签: c#, microsoft, 数据库, 开发语言

Path类

在C#中,文件和目录的操作是编程中常见的需求,而.NET Framework为我们提供了一个名为Path的类,用于进行文件的路径操作。

Path常用方法

相对路径转为绝对路径GetFullPath(string relativePath)

    string relativePath = "..\\example.txt";
    string absolutePath = Path.GetFullPath(relativePath);
    Console.WriteLine("绝对路径:" + absolutePath);

从指定的路径中获取目录部分GetDirectoryName(string path)

    string path = "C:\\Users\\example.txt";
    string directoryName = Path.GetDirectoryName(path);
    Console.WriteLine("目录部分:" + directoryName);

指定的路径中获取文件名部分GetFileName(string path)

    string path = "C:\\Users\\example.txt";
    string fileName = Path.GetFileName(path);
    Console.WriteLine("文件名部分:" + fileName);

从指定的路径中获取文件名(不包括扩展名)部分GetFileNameWithoutExtension(string path)

    string path = "C:\\Users\\example.txt";
    string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
    Console.WriteLine("文件名(不包括扩展名)部分:" + fileNameWithoutExtension);

从指定的路径中获取文件扩展名部分GetExtension(string path)

    string path = "C:\\Users\\example.txt";
    string extension = Path.GetExtension(path);
    Console.WriteLine("文件扩展名部分:" + extension);

将两个路径组合成一个路径Combine(string path1, string path2)

    string path1 = "C:\\Users";
    string path2 = "example.txt";
    string combinedPath = Path.Combine(path1, path2);
    Console.WriteLine("组合后的路径:" + combinedPath);

获取指定路径的根目录部分GetPathRoot(string path)

    string path = "C:\\Users\\example.txt";
    string pathRoot = Path.GetPathRoot(path);
    Console.WriteLine("路径根目录:" + pathRoot);

Path类在实际编程中的应用

路径解析:在使用文件和目录路径时,经常会遇到需要将相对路径转换为绝对路径,或者提取路径的某一部分(如文件名或扩展名)的情况。Path类提供了一系列方法来完成这些任务,例如Path.GetFullPath和Path.GetDirectoryName。

路径组合:在创建新文件或目录时,通常需要将多个路径片段组合成一个完整的路径。Path.Combine方法可以方便地完成这个任务。

文件读写:在进行文件读写操作时,可能需要知道文件的完整路径或者将读取的数据写入到特定的文件路径。Path类可以帮助我们处理这些路径相关的细节。

错误处理:Path类的方法在处理路径时可能会抛出异常,例如路径无效或文件不存在等。在调用这些方法时,应该适当处理可能出现的异常,以确保程序的健壮性。

Path类的跨平台支持

.NET Framework的Path类在不同的操作系统上表现一致,这使得Path类的方法在跨平台应用中非常有用。无论是在Windows、Linux还是macOS上,Path类的方法都能正确地处理文件和目录路径。

借鉴网址

网址:[深入理解C#中的IO操作:Path类的详解_c# path-CSDN博客](https://blog.csdn.net/qq_35320456/article/details/138818541)


http://www.niftyadmin.cn/n/5535972.html

相关文章

C++指针内存分配与释放

文章目录 指针分配与释放 :C new/delete VS C malloc/freeC new/deleteC malloc/free 指针销毁智能指针 指针分配与释放 :C new/delete VS C malloc/free new:分配内存、调用类的构造函数。delete:调用类的析构函数和释放内存&am…

xml_woarchive undefined symbol

最近在linux中编译一个自己写的老代码。是个C动态库。可以编译成功,但直到运行的时候才报 boost xml_woarchive undefined symbol. 解决的方法是在编译时要加上 wserialization 库。 注意,这个库有含 w 和不含 w 两个。在我这里需要使用含 w 的。 如果…

Rethinking Federated Learning with Domain Shift: A Prototype View

CVPR2023,针对分布式数据来自不同的域时,私有模型在其他域上表现出退化性能(具有域转移)的问题。提出用于域转移下联邦学习的联邦原型学习(FPL)。核心思想是构建集群原型和无偏原型,提供富有成效的领域知识和公平的收敛目标。将样本嵌入拉近到属于相同语义的集群原型,而…

8人团队历时半年打造开源版GPT-4o,零延迟演示引爆全网!人人可免费使用!

目录 01 Moshi 02 背后技术揭秘 GPT-4o可能要等到今年秋季才会公开。 然而,由法国8人团队开发的原生多模态Moshi,已经达到了接近GPT-4o的水平,现场演示几乎没有延迟,吸引了大量AI专家的关注。 令人惊讶的是,开源版的…

基于惯性加权PSO优化的目标函数最小值求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于惯性加权PSO优化的目标函数最小值求解matlab仿真。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印)…

【C++】 C/C++预处理器介绍

C预处理器(Preprocessor)是编译过程中的一个阶段,它在编译器进行实际编译之前对源代码进行处理。预处理器提供了一系列的指令,用于条件编译、文件包含、宏定义等操作。以下是一些常见的预处理器指令: 宏定义&#xff…

LLMs:《Rethinking open source generative AI open-washing and the EU AI Act》翻译与解读

LLMs:《Rethinking open source generative AI open-washing and the EU AI Act》翻译与解读 导读:这篇文章阐述了开放源码生成式人工智能(generative AI)模型的一个新方式,并提出了一个开放度评估框架。 背景:去年众多语言模型开…

react+ts+antd项目搭建

前言: 基于ts语言创建react项目,node版本是v16.14.2 一、 脚手架创建项目 全局安装 npm install -g creacte-react-app创建项目file-management,ts需要添加–template typescript npx create-react-app file-management --template typesc…