C# 在不写入卷文件系统的情况下检查卷文件系统的大小写敏感度?

C# 在不写入卷文件系统的情况下检查卷文件系统的大小写敏感度?,c#,.net-core,C#,.net Core,正如标题所说:是否有任何跨平台的方法可以检查卷的文件系统大小写敏感度而不写入卷 这是针对跨平台应用程序的,因此我不能使用windows特定的API,并且文件系统可能是只读的,因此我不能使用小写形式编写guid名称的文件并检查其是否存在大写形式的“技巧” 有没有我可能跳过的API?试试这个: 获取所关注文件夹中的文件和/或子文件夹列表 将名字转换为大写或小写,任何使大小写不同的方法都可以 检查是否存在具有该名称的文件/文件夹 如果确实存在,则文件系统不区分大小写 要求: 您可以列出文件/文件

正如标题所说:是否有任何跨平台的方法可以检查卷的文件系统大小写敏感度而不写入卷

这是针对跨平台应用程序的,因此我不能使用windows特定的API,并且文件系统可能是只读的,因此我不能使用小写形式编写guid名称的文件并检查其是否存在大写形式的“技巧”

有没有我可能跳过的API?

试试这个:

  • 获取所关注文件夹中的文件和/或子文件夹列表
  • 将名字转换为大写或小写,任何使大小写不同的方法都可以
  • 检查是否存在具有该名称的文件/文件夹
  • 如果确实存在,则文件系统不区分大小写
要求:

  • 您可以列出文件/文件夹并检查是否存在命名的文件/文件夹
  • 有要列出的文件/文件夹

如果确实存在,则文件系统不区分大小写,或者文件系统区分大小写,并且这两个文件恰好存在于同一目录中。另外,我不知道这是否是OP的问题,但它在空文件系统上不起作用。@hvd这可能是个问题,但我主要关心的是列出文件(我时不时会想到)是a)没有列出权限,b)文件系统速度慢,有很多文件。如果我这样做,我会做得有点不同。。。列出所有文件。。。检查第一个实例上是否存在具有不同大小写的重复文件,如果没有,请检查是否存在具有不同大小写的第一个文件。这可能会起作用(同样,除非文件系统是空的),但我对列出文件的关注是不同的。。。它不满足我的特殊需要,但我不认为应该否决:-)@Jcl您不需要完整的文件列表,但您可以使用
readdir()
并在找到至少包含一个字母的任何文件名时立即停止。对于速度较慢的文件系统,这可能会更好,尽管我不是100%确定。至于没有列出权限,这是真的,但如果你既不想写也不想假设你能读,那就变得很棘手了,这不会留下太多其他的东西。(我同意投票;反对票不是我的:)