Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy phần mở rộng file (Extension) trong C#

Sử dụng Path.GetExtension() trong System.IO để trích xuất phần mở rộng của file (kể cả dấu chấm) từ đường dẫn. An toàn, đa nền tảng, không truy cập đĩa.

Ví dụ cơ bản

string myPath = @"D:\new\quiz.txt";
string ext = Path.GetExtension(myPath);  // ".txt"

Mã nguồn hoàn chỉnh

using System;
using System.IO;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            string myPath = @"D:\new\quiz.txt";
            Console.WriteLine(Path.GetExtension(myPath));
        }
    }
}

Kết quả

.txt

Các trường hợp đặc biệt

Đường dẫnGetExtensionGetFileNameWithoutExtension
file.txt.txtfile
.hidden.hidden(rỗng)
archive.tar.gz.gzarchive.tar
noextension(rỗng)noextension
path/to/.config.config(rỗng)
C:\folder\(rỗng)(rỗng)

Lưu ý

  • Luôn trả về phần mở rộng **kể cả dấu chấm** (.txt không phải txt).
  • Chỉ lấy phần mở rộng của **file cuối cùng** trong path.
  • Không phân biệt chữ hoa/thường (trên Windows), nhưng trả về đúng case như trong input.
  • Để lấy extension không dấu chấm: Path.GetExtension(path).TrimStart('.').

Kết hợp với các phương thức khác

string path = @"D:\data\report.pdf";

string dir = Path.GetDirectoryName(path);        // D:\data
string name = Path.GetFileName(path);            // report.pdf
string nameNoExt = Path.GetFileNameWithoutExtension(path); // report
string ext = Path.GetExtension(path);            // .pdf

// Đổi extension
string backupPath = Path.ChangeExtension(path, ".bak");  // D:\data\report.bak