Programme C# pour obtenir le nom de fichier à partir du chemin absolu

王林
Libérer: 2023-08-26 16:41:10
avant
2485 Les gens l'ont consulté

Programme C# pour obtenir le nom de fichier à partir du chemin absolu

Présentation

Essayons de comprendre le programme C# pour obtenir le nom de fichier à partir du chemin absolu. Nous verrons l'utilisation de la méthode GetFileName sous la classe File qui est utilisée pour obtenir le nom du fichier et une autre méthode GetFileNameWithoutExtension qui renverra le nom de fichier de la chaîne de chemin spécifiée sans extension. Pour obtenir un chemin relatif à partir de deux chemins absolus, nous utiliserons la classe Uri en C#. La classe Uri fournit plusieurs méthodes pour travailler avec les URI, notamment MakeRelativeUri, que nous utiliserons dans notre code.

Un fichier est un emplacement utilisé en C# pour stocker certaines informations. Une collection de fichiers est appelée un répertoire. En C#, les fichiers appartiennent à l'espace de noms System.IO, qui comprend également d'autres classes permettant d'effectuer des opérations sur les fichiers. Path est une autre classe sous le même espace de noms. Il existe deux types de chemins, les chemins absolus et les chemins relatifs. Un chemin absolu comprend toutes les informations nécessaires pour localiser un fichier ou un répertoire sur votre système. Un exemple de chemin absolu est C:\Program Files\Google Chrome\filename.exe.

Les chemins relatifs nous indiquent le chemin d'un fichier par rapport au répertoire actuel dans lequel l'utilisateur travaille. Prenons l'exemple similaire mentionné ci-dessus, si l'exécutable principal se trouve dans C:\Program Files, le chemin relatif vers filename.exe est Google Chrome filename.exe.

Méthode GetFileName

Il s'agit d'une méthode sous la classe file en C#, utilisée pour obtenir le nom du fichier à partir du chemin absolu. path.GetFileName est utilisé pour effectuer cette opération. Il prend un chemin absolu en entrée et renvoie le nom de fichier et l'extension du chemin spécifié. Le chemin absolu utilisé en entrée se présente sous la forme d’une chaîne.

Grammaire

public static string GetFileName(string path)
Copier après la connexion

Le chemin ici est la chaîne à partir de laquelle nous devons obtenir le nom du fichier.

Dans l'exemple ci-dessus, GetFileName est une méthode de la classe path. Cette méthode renvoie les caractères après le dernier séparateur de caractères de répertoire dans le nom de chemin. S'il n'existe pas, il renverra une valeur NULL. Il renvoie également une valeur NULL si le dernier caractère du chemin est un séparateur de répertoire ou de volume.

De même, si le chemin est nul, il renverra la valeur NULL.

Si le nom du fichier est "C:mydirfilename.exe", alors le résultat de sortie est filename.exe

Algorithme

L'algorithme ci-dessous donnera le processus étape par étape pour obtenir le nom du fichier à l'aide de la méthode File.GetFileName().

Par exemple, si nous avons besoin de trouver le nom d'un fichier, nous pouvons utiliser l'algorithme suivant pour comprendre :

Étape 1Créez une chaîne pour stocker le nom du chemin du fichier. N'oubliez pas qu'il s'agit d'un chemin absolu.

Étape 2 Créez un nom de fichier de chaîne initialement vide.

Étape 3 Nous stockerons la sortie de la méthode GetFileName dans un nom de fichier chaîne.

Étape 4 Puisque le nom du fichier dans le code ci-dessus est "monfichier", le résultat sera le même.

Étape 5 Si dans tous les cas le chemin est nul, la sortie renvoyée sera également NULL.

Étape 6 En utilisant la méthode GetFileName, nous pouvons renvoyer le nom du fichier à partir du chemin absolu.

Exemple

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();
   }
}
Copier après la connexion

Sortie

myfile.md
Copier après la connexion

Complexité temporelle

Dans le code mentionné ci-dessus, nous pouvons observer qu'il n'y a pas de boucles ou de boucles imbriquées à l'intérieur de la fonction principale, donc la complexité temporelle est simplement O(1).

Méthode GetFileNameWithoutExtension

La méthode expliquée précédemment consiste à utiliser la méthode GetFileName pour renvoyer le nom du fichier. Nous allons maintenant voir comment renvoyer le nom du fichier sans extension. En supposant que le nom du chemin est « C:Program FilesGoogle Chromefilename.exe », le résultat renvoyé est « filename ». Il accepte les chemins absolus en entrée et renvoie les noms de fichiers en sortie. Le chemin absolu saisi se présente sous la forme d'une chaîne. Syntaxe - "chaîne statique publique GetFileName(string path)", où path est la chaîne dans laquelle nous voulons obtenir le nom du fichier sans extension.

Dans l'exemple ci-dessus, GetFileName est une méthode de la classe path. Cette méthode renverra les caractères après le dernier séparateur de caractères de répertoire dans le nom de chemin, sans extension. S'il n'existe pas, il renverra une valeur NULL. Il renvoie également une valeur NULL si le dernier caractère du chemin est un séparateur de répertoire ou de volume.

算法

在此算法中,我们将了解使用 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 Files\Google Chrome\filename.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();
   }
}
Copier après la connexion

输出

filename.exe
Copier après la connexion

时间复杂度

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

结论

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!