Open In App

Check if a path has a file name extension in C#

Improve
Improve
Like Article
Like
Save
Share
Report

Path.HasExtension Method is used to check whether the specified path has a file name extension or not.
This method will start the searching for a period (.) followed by at least one character from the end of the path. If this pattern is found before a DirectorySeparatorChar, AltDirectorySeparatorChar, or VolumeSeparatorChar character is encountered, this method returns true.

Syntax:

public static bool HasExtension (string path);

Here, path is the specified path to search for an extension.

Returns: This method will return true if the characters that follow the last directory separator (\\ or /) or volume separator (:) in the path include a period (.) followed by one or more characters; otherwise, false.

Exception: This method will give ArgumentException if the path contains one or more of the invalid characters defined in GetInvalidPathChars().

Examples:

Input : 
string strPath1 = "C:// myfiles//ref//file1.txt";
string strPath2 = "C:// myfiles//ref//file2";

// checking for the extension
Path.HasExtension(strPath1);
Path.HasExtension(strPath2);

Output :

true
false




// C# program to check whether
// a file have an extension or not
using System;
using System.IO;
  
namespace Geeks {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
  
        // taking two paths
        string strPath1 = "C:// myfiles// ref// file1.txt";
        string strPath2 = "C:// myfiles// ref// file2";
  
        // checking whether the file 
        // has an extension or not
        if (Path.HasExtension(strPath1))
            Console.WriteLine("{0} have an extension...", strPath1);
        else
            Console.WriteLine("{0} don't have an extension...", strPath1);
  
        // checking whether the file 
        // has an extension or not
        if (Path.HasExtension(strPath2))
            Console.WriteLine("{0} have an extension...", strPath2);
        else
            Console.WriteLine("{0} don't have an extension...", strPath2);
  
        Console.ReadLine();
    }
}
}


Output:

C:// myfiles// ref// file1.txt have an extension...
C:// myfiles// ref// file2 don't have an extension...

Reference:



Last Updated : 04 Apr, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads