是的,C# 遍历文件的功能在大多数情况下是跨平台的。C# 是基于 .NET Framework 的编程语言,而 .NET Core 和 .NET 5 及更高版本已经实现了跨平台支持。这意味着你可以在 Windows、macOS 和 Linux 上使用相同的代码来遍历文件。
以下是一个简单的 C# 示例,展示了如何在跨平台项目中使用 System.IO
命名空间中的 Directory.GetFiles()
方法来遍历文件夹中的所有文件:
using System;
using System.IO;
namespace FileTraversal
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\example_folder"; // 你可以将此路径更改为任何有效的路径
try
{
string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
foreach (string file in files)
{
Console.WriteLine(file);
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
在这个示例中,我们使用了 Directory.GetFiles()
方法来获取指定路径下的所有文件(包括子文件夹中的文件)。SearchOption.AllDirectories
参数表示我们要递归地搜索所有子文件夹。然后,我们使用 foreach
循环遍历文件数组并打印文件路径。
请注意,这个示例使用了 Windows 风格的路径分隔符(反斜杠 \
)。在不同的操作系统上,路径分隔符可能不同。为了确保代码在跨平台上正常工作,你可以使用 Path.Combine()
方法来构建路径,如下所示:
string path = Path.Combine(@"C:", "example_folder");
这将确保在不同操作系统上使用正确的路径分隔符。