ホームページ  >  記事  >  バックエンド開発  >  絶対パスからファイル名を取得するC#プログラム

絶対パスからファイル名を取得するC#プログラム

王林
王林転載
2023-08-26 16:41:102517ブラウズ

###############導入###

絶対パスからファイル名を取得する C# プログラムを理解してみましょう。ファイル名を取得するために使用される File クラスの GetFileName メソッドと、拡張子なしで指定されたパス文字列のファイル名を返す別のメソッド GetFileNameWithoutExtension の使用法を見ていきます。 2 つの絶対パスから相対パスを取得するには、C# の Uri クラスを使用します。 Uri クラスには、コードで使用する MakeRelativeUri など、URI を操作するためのメソッドがいくつか用意されています。 絶対パスからファイル名を取得するC#プログラム

ファイルは、C# で情報を保存するために使用される場所です。ファイルの集まりをディレクトリと呼びます。 C# では、ファイルは System.IO 名前空間に属します。この名前空間には、ファイルに対する操作を実行するための他のクラスも含まれています。 Path は同じ名前空間内の別のクラスです。パスには絶対パスと相対パスの 2 種類があります。絶対パスには、システム上のファイルまたはディレクトリを見つけるために必要なすべての情報が含まれています。絶対パスの例は、C:\Program Files\Google Chrome\filename.exe です。

相対パスは、ユーザーが作業している現在のディレクトリからの相対的なファイルのパスを示します。前述の同様の例を考えてみましょう。メインの実行可能ファイルが C:\Program Files にある場合、filename.exe への相対パスは Google Chrome\filename.exe になります。

GetFileName メソッド

これは C# の file クラスにあるメソッドで、絶対パスからファイル名を取得するために使用されます。 path.GetFileName は、この操作を実行するために使用されます。絶対パスを入力として受け取り、指定されたパスのファイル名と拡張子を返します。入力として使用される絶対パスは文字列形式です。

###文法### リーリー

ここでのパスは、ファイル名を取得する必要がある文字列です。

上記の例では、GetFileName はパス クラスのメソッドです。このメソッドは、パス名の最後のディレクトリ文字区切り文字の後の文字を返します。存在しない場合は、NULL 値が返されます。また、パスの最後の文字がディレクトリまたはボリューム区切り文字である場合は、NULL 値を返します。

同様に、パスが null の場合は、NULL 値が返されます。

ファイル名が「C:\mydir\filename.exe」の場合、出力結果はfilename.exeとなります。 ###アルゴリズム###

以下のアルゴリズムは、File.GetFileName() メソッドを使用してファイル名を取得する段階的なプロセスを示します。

たとえば、ファイルの名前を見つける必要がある場合、次のアルゴリズムを使用して理解できます。

ステップ 1

ファイル パスの名前を保存する文字列を作成します。これは絶対パスであることに注意してください。

ステップ 2

最初は空の文字列ファイル名を作成します。 ステップ 3

GetFileName メソッドの出力を文字列ファイル名に保存します。 ステップ 4

上記コードのファイル名は「myfile」なので、出力は同じになります。 ステップ 5

いずれの場合でもパスが null の場合、返される出力も NULL になります。 ステップ 6

GetFileName メソッドを使用すると、絶対パスからファイルの名前を返すことができます。 ###例### リーリー ###出力### リーリー 時間の複雑さ

上記のコードでは、main 関数内にループやネストされたループがないことがわかり、時間計算量は単純に O(1) です。

GetFileNameWithoutExtension メソッド 前に説明したメソッドは、GetFileName メソッドを使用してファイルの名前を返す方法です。次に、拡張子なしでファイル名を返す方法を見てみましょう。パスの名前が「C:\Program Files\Google Chrome\filename.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 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();
   }
}

输出

filename.exe

时间复杂度

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

结论

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

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

以上が絶対パスからファイル名を取得するC#プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。