【发布时间】:2014-03-13 08:34:21
【问题描述】:
在 c# 中获取最终文件名时遇到问题。
例如:
如果用户键入两个文件名:
“自述。”和“asd..”
或
“asd”和“asd ”(两个空格)
然后方法 Path.GetFileName 返回“asd.”、“asd..”、“asd”、“asd ”(两个空格)。
将其保存到硬盘后(例如使用 StreamWriter),则只有一个文件“asd”
如何查看输入文件的最终名称?我想还有很多其他的例子,我永远无法手动正确地完成。
编辑:
我用它来比较两个文件名,GetFileName 返回: 对于 a.txt - a.txt 对于 A.txt - A.txt
但保存后是同一个文件。比较必须忽略大小写。
【问题讨论】:
-
显示您的代码,以便我们看到并帮助您
-
我不认为近距离投票是合理的。这是一个关于编程的合法问题,实际上不需要任何示例代码。问题很清楚:例如,当 SaveFileDialog 将文件名报告为“ads...”并保存时,操作系统将把文件重命名为“ads”。您如何确定发生了这种情况?
-
有趣的问题。该行为未(显然)记录在 msdn 的参考资料中。就NTFS(或FAT32?)而言,当然可以创建一个名称中带有尾随空格的文件,我只是在cygwin shell中完成的。但是资源管理器似乎将文件名作为同一个文件处理,并且当我尝试添加空格时拒绝重命名它(“源和目标是同一个文件”)。类似于在 Windows 下会困扰 Java 开发人员的不连贯的大小写处理。
-
@Adam 你真的应该考虑将 Ulugbek 标记为你问题的正确答案,他真的做到了