卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章16333本站已运行3317

C#程序从绝对路径获取文件名

C#程序从绝对路径获取文件名

介绍

让我们尝试了解C#程序从绝对路径获取文件名。我们将看到 File 类下的 GetFileName 方法的用法,该方法用于获取文件名,另一个方法 GetFileNameWithoutExtension 将返回指定路径字符串的文件名,不带扩展名。要从两个绝对路径获取相对路径,我们将使用 C# 中的 Uri 类。 Uri 类提供了多种处理 URI 的方法,包括我们将在代码中使用的 MakeRelativeUri。

文件是在C#中用于存储一些信息的位置。文件的集合被称为目录。在C#中,文件属于System.IO命名空间,该命名空间还包括其他用于对文件执行操作的类。路径是同一命名空间下的另一个类。有两种类型的路径,绝对路径和相对路径。绝对路径包括定位系统上的文件或目录所需的所有信息。绝对路径的示例是C: Program Files Google Chrome filename.exe。

相对路径告诉我们文件相对于用户正在工作的当前目录的路径。考虑上面提到的类似示例,如果主要可执行文件位于C: Program Files中,则filename.exe的相对路径为Google Chrome filename.exe。

GetFileName方法

这是C#中文件类下的方法,用于从绝对路径获取文件名。 path.GetFileName 用于执行该操作。它采用绝对路径作为输入,并返回指定路径的文件名和扩展名。用作输入的绝对路径采用字符串形式。

语法

public static string GetFileName(string path)

这里的路径是我们需要从中获取文件名的字符串。

在上面的示例中,GetFileName 是路径类的方法。此方法将返回路径名中最后一个目录字符分隔符之后的字符。如果不存在,那么它将返回 NULL 值。如果路径的最后一个字符是目录或卷分隔符,那么它也会返回 NULL 值。

同样,如果路径为null,那么它将返回NULL值。

如果文件名是“C:mydirfilename.exe”,那么输出结果是 filename.exe

算法

下面的算法将给出使用 File.GetFileName() 方法获取文件名的分步过程。

例如,如果我们需要找到文件的名称,我们可以使用以下算法来理解:

第一步 创建一个字符串,用于存储文件路径的名称,记住这是一个绝对路径。

第2步 创建一个最初为空的字符串文件名。

第 3 步 我们将把 GetFileName 方法的输出存储在字符串文件名中。

第四步 由于上面代码中文件名为“myfile”,因此输出也将是相同的。

第 5 步  如果在任何情况下路径为 null,则返回的输出也将为 NULL。

第6步 通过使用GetFileName方法,我们可以从绝对路径返回文件的名称。

示例

using System;
using System.IO;
using System.Text;

class FileName {
   static void Main(string[] args) {
      //declaring the string path.
      string path = "E://Jinku Hu//Starting Over//Csharp//myfile.md";
      
      //declaring the string filename.
      string filename = null;
      
      //we will be storing the value in the filename variable.
      filename = Path.GetFileName(path);
      Console.WriteLine(filename);
      Console.ReadLine();
   }
}

输出

myfile.md

时间复杂度

在上面提到的代码中,我们可以观察到主函数内部没有循环或嵌套循环,因此时间复杂度简单地为O(1)。

GetFileNameWithoutExtension 方法

之前解释的方法是使用GetFileName方法返回文件的名称。现在我们将了解如何返回没有扩展名的文件名。假设路径的名称是“C:Program FilesGoogle Chromefilename.exe”,那么返回的输出是“filename”。它接受绝对路径作为输入,并将文件名作为输出返回。输入的绝对路径是一个字符串形式的。语法- “public static string GetFileName(string path)”,这里的path是我们要获取没有扩展名的文件名的字符串。

在上面的示例中,GetFileName 是路径类的方法。此方法将返回路径名中最后一个目录字符分隔符之后的字符,不带扩展名。如果不存在,那么它将返回 NULL 值。如果路径的最后一个字符是目录或卷分隔符,那么它也会返回 NULL 值。

算法

在此算法中,我们将了解使用 GetFileNameWithoutExtension 方法返回不带扩展名的文件名的分步方法。

第 1 步  创建一个字符串来存储绝对路径的名称。

步骤2 创建另一个名为filename的字符串,该字符串将作为输出返回。

第三步 字符串变量filename将以null作为其初始值。

第四步 使用GetFileNameWithoutExtension方法生成的输出将存储在一个字符串filename中。

步骤 5 如果文件为空,则输出也将相同。

第 6 步 − 因此我们可以使用 GetFileNameWithoutExtension 方法返回不带扩展名的文件名。

示例

using System;
using System.IO;
using System.Text;

class FileName {
   static void Main(string[] args) {
      //declare the string path first.
      string path = "C:Program FilesGoogle Chromefilename.exe";
      
      //declare the string filename and store null initially.
      string filename = null;
      filename = Path.GetFileNameWithoutExtension(path);
      
      //store the answer in the variable filename.
      Console.WriteLine(filename);
      Console.ReadLine();
   }
}

输出

filename.exe

时间复杂度

在上述代码中,我们可以观察到只使用了一种直接生成输出并将其存储在相应变量中的方法。没有使用任何循环或任何类型的复杂递归函数。这仅仅构成了时间复杂度为O(1)。

结论

在本文中,我们广泛讨论了使用GetFileName方法从绝对路径中获取带有扩展名的文件名,以及使用GetFileNameWithoutExtension方法获取不带扩展名的文件名的C#程序。

我们希望本文能够帮助您增强有关 C# 的知识。

卓越飞翔博客
上一篇: C# 中缺少哪些 C++ 功能?
下一篇: 计算多项式回归算法的C程序
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏