Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C# untuk mendapatkan nama fail dari laluan mutlak

Program C# untuk mendapatkan nama fail dari laluan mutlak

王林
王林ke hadapan
2023-08-26 16:41:102445semak imbas

Program C# untuk mendapatkan nama fail dari laluan mutlak

Pengenalan

Mari kita cuba memahami program C# untuk mendapatkan nama fail dari laluan mutlak. Kami akan melihat penggunaan kaedah GetFileName di bawah kelas Fail yang digunakan untuk mendapatkan nama fail dan kaedah lain GetFileNameWithoutExtension yang akan mengembalikan nama fail rentetan laluan yang ditentukan tanpa sambungan. Untuk mendapatkan laluan relatif daripada dua laluan mutlak, kami akan menggunakan kelas Uri dalam C#. Kelas Uri menyediakan beberapa kaedah untuk bekerja dengan URI, termasuk MakeRelativeUri, yang akan kami gunakan dalam kod kami.

Fail ialah lokasi yang digunakan dalam C# untuk menyimpan beberapa maklumat. Koleksi fail dipanggil direktori. Dalam C#, fail tergolong dalam ruang nama System.IO, yang juga termasuk kelas lain untuk melaksanakan operasi pada fail. Path ialah kelas lain di bawah ruang nama yang sama. Terdapat dua jenis laluan, laluan mutlak dan laluan relatif. Laluan mutlak merangkumi semua maklumat yang diperlukan untuk mencari fail atau direktori pada sistem anda. Contoh laluan mutlak ialah C:\Program Files\Google Chrome\filename.exe.

Laluan relatif memberitahu kami laluan fail berbanding dengan direktori semasa yang sedang digunakan oleh pengguna. Pertimbangkan contoh serupa yang dinyatakan di atas, jika boleh laku utama terletak dalam C:\Program Files, laluan relatif ke filename.exe ialah Google Chrome filename.exe.

Kaedah GetFileName

Ini ialah kaedah di bawah kelas fail dalam C#, digunakan untuk mendapatkan nama fail daripada laluan mutlak. path.GetFileName digunakan untuk melaksanakan operasi ini. Ia mengambil laluan mutlak sebagai input dan mengembalikan nama fail dan sambungan laluan yang ditentukan. Laluan mutlak yang digunakan sebagai input adalah dalam bentuk rentetan.

Tatabahasa

public static string GetFileName(string path)

Laluan di sini ialah rentetan yang kita perlukan untuk mendapatkan nama fail.

Dalam contoh di atas, GetFileName ialah kaedah kelas laluan. Kaedah ini mengembalikan aksara selepas pemisah aksara direktori terakhir dalam nama laluan. Jika ia tidak wujud, maka ia akan mengembalikan nilai NULL. Ia juga mengembalikan nilai NULL jika aksara terakhir laluan ialah direktori atau pemisah volum.

Begitu juga, jika laluan adalah null, maka ia akan mengembalikan nilai NULL.

Jika nama fail ialah "C:mydirfilename.exe", maka hasil output ialah filename.exe

Algoritma

Algoritma di bawah akan memberikan proses langkah demi langkah untuk mendapatkan nama fail menggunakan kaedah File.GetFileName().

Sebagai contoh, jika kita perlu mencari nama fail, kita boleh menggunakan algoritma berikut untuk memahami:

Langkah 1Buat rentetan untuk menyimpan nama laluan fail Ingat bahawa ini adalah laluan mutlak.

Langkah 2 Buat nama fail rentetan pada mulanya kosong.

Langkah 3 Kami akan menyimpan output kaedah GetFileName dalam nama fail rentetan.

Langkah 4 Memandangkan nama fail dalam kod di atas ialah "myfile", outputnya adalah sama.

Langkah 5 Jika dalam apa jua keadaan laluan adalah batal, output yang dikembalikan juga akan menjadi NULL.

Langkah 6 Dengan menggunakan kaedah GetFileName, kita boleh mengembalikan nama fail daripada laluan mutlak.

Contoh

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();
   }
}

Output

myfile.md

Kerumitan masa

Dalam kod yang disebutkan di atas, kita dapat melihat bahawa tiada gelung atau gelung bersarang di dalam fungsi utama, jadi kerumitan masa hanyalah O(1).

GetFileNameWithoutExtension kaedah

Kaedah yang dijelaskan sebelum ini ialah menggunakan kaedah GetFileName untuk mengembalikan nama fail. Sekarang kita akan melihat bagaimana untuk mengembalikan nama fail tanpa sambungan. Dengan mengandaikan nama laluan ialah "C:Program FilesGoogle Chromefilename.exe", maka output yang dikembalikan ialah "filename". Ia menerima laluan mutlak sebagai input dan mengembalikan nama fail sebagai output. Laluan mutlak yang dimasukkan adalah dalam bentuk rentetan. Sintaks - "rentetan statik awam GetFileName(laluan rentetan)", dengan laluan ialah rentetan yang kita mahu dapatkan nama fail tanpa sambungan.

Dalam contoh di atas, GetFileName ialah kaedah kelas laluan. Kaedah ini akan mengembalikan aksara selepas pemisah aksara direktori terakhir dalam nama laluan, tanpa sambungan. Jika ia tidak wujud maka ia akan mengembalikan nilai NULL. Ia juga mengembalikan nilai NULL jika aksara terakhir laluan ialah direktori atau pemisah volum.

算法

在此算法中,我们将了解使用 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# 的知识。

Atas ialah kandungan terperinci Program C# untuk mendapatkan nama fail dari laluan mutlak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam