微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自.NET的关于文件path的奇怪行为

我无法通过Google教授find任何有关这方面的信息,所以我就在这里。 采取给定的path名​​称并将其粘贴到Windows资源pipe理器。 我发现在我的代码中产生了额外的path的错误后,偶然发现了这个。 在目录分隔符之前的path名称中…

@"C:\pathto.file.ext"

代码中,.NET在调用File.Create时将接受path并生成一个文件,但是在此path中:

@"C:\pathtofile.ext"

将C:\pathto.file.ext复制到Windows资源pipe理器的地址栏并观看“。” 消失,带你到C:\pathtofile.ext

这是正常的行为.NET和Windows它不会造成问题,因为'。 在传递到文件操作时,将被.NET和Windows删除。 真正的问题是数据库中的所有文件文件名都带有'。',但存在于没有'。'的path中, File.Exists()可以工作,虽然path不是“真正的”物理位置

使用VisualStyles控件的边框颜色

如何为Windows上的任务栏创build工具栏?

Wpf绝对与相对包装URI

dynamic添加comboBox中的项目和用户添加的项目应该是永久性的,而不使用数据库,是可能的?

将Winforms中的标签调整为左侧

这里发生了什么?

如何使用dotnet框架4.0提取zip文件,而无需使用第三方dll

检查Windows用户或组是否存在,支持域名

SPI_GETMOUSEHOVERTIME是否可以为零?

我如何计算WPF中的非客户端窗口大小?

Process.Kill()需要什么权限?

这是Windows文件系统的一个功能”。 MSDN :

不要使用空格或句点来结束文件或目录名称。 尽管底层文件系统可能支持这种名称,但Windows外壳程序和用户界面不支持。 但是,可以指定句点作为名称的第一个字符。 例如,“.temp”。

所有正常的Windows API都会在传入常规路径时忽略/删除文件/文件名称中的尾随点。

如果你真的需要支持尾点,你需要使用"\?"前缀路径和自己互操作的所有调用(因为.Net不支持这种文件格式)。 请参阅MSDN:命名文件,路径和命名空间 , 如何删除名称以点(“。”)结尾的文件夹? 而且您无法删除NTFS文件系统卷上的文件文件夹以获取更多信息。

这里是相关的问题显示如何PInvoke接受长文件路径的函数: c#调用文件路径的Win32 API?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐