C#判断文件后缀名从未跳过
时间: 2023-07-12 13:10:38 浏览: 101
你可以使用以下代码来判断一个文件的后缀名是否是指定的后缀名:
```csharp
string fileName = "example.txt";
string extension = Path.GetExtension(fileName);
if (extension.Equals(".txt", StringComparison.OrdinalIgnoreCase))
{
// 文件后缀名是 .txt
// 在这里执行相应的操作
}
```
其中 `fileName` 是文件的完整路径, `Path.GetExtension` 方法可以获取文件的后缀名(包含 `.`)。然后使用 `Equals` 方法来比较后缀名是否是指定的后缀名,这里的比较忽略大小写。如果文件后缀名是指定的后缀名,则可以在 `if` 语句中执行相应的操作。
相关问题
C#中跳过指定后缀名的文件
你可以使用以下代码来获取指定目录下不包含指定后缀名的文件列表:
```csharp
string[] files = Directory.GetFiles(directoryPath)
.Where(file => !file.EndsWith(".txt"))
.ToArray();
```
其中 `directoryPath` 是目录的路径, `".txt"` 是要跳过的文件后缀名。这里使用了 `GetFiles` 方法来获取目录下所有文件,然后使用 `Where` 方法来过滤掉以 `".txt"` 结尾的文件。最后使用 `ToArray` 方法将结果转换为数组。这样就可以得到不包含指定后缀名的文件列表。
C# 判断一个文件是不是媒体文件不通过后缀名
可以通过读取文件头信息来判断一个文件是不是媒体文件,而不是通过文件后缀名来判断。每种媒体文件都有特定的文件头信息,例如JPEG文件的文件头信息是 "FF D8 FF",MP3文件的文件头信息是 "49 44 33" 等等。可以通过读取文件头信息判断文件是哪种类型的媒体文件。以下是一个示例代码:
```csharp
public static bool IsMediaFile(string filePath)
{
bool isMediaFile = false;
byte[] header = new byte[3];
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
fs.Read(header, 0, 3);
}
if (header[0] == 0xFF && header[1] == 0xD8 && header[2] == 0xFF) //JPEG文件头信息
{
isMediaFile = true;
}
else if (header[0] == 0x49 && header[1] == 0x44 && header[2] == 0x33) //MP3文件头信息
{
isMediaFile = true;
}
//添加其他媒体文件类型的判断
return isMediaFile;
}
```
该方法会读取文件的前三个字节作为文件头信息,然后判断是否符合媒体文件的文件头信息。需要注意的是,不同媒体文件的文件头信息可能不同,需要根据具体的需求添加相应的判断。