栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

确定两个路径是否引用C#中相同文件的最佳方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

确定两个路径是否引用C#中相同文件的最佳方法

据我所知(1)
(2)
(3)
(4),JDK7的方法是通过在文件上调用GetFileInformationByHandle并比较dwVolumeSerialNumber,nFileIndexHigh和nFileIndexLow。


每个MSDN:

您可以比较BY_HANDLE_FILE_INFORMATION结构中返回的VolumeSerialNumber和FileIndex成员,以确定两个路径是否映射到相同的目标。例如,您可以比较两个文件路径并确定它们是否映射到同一目录。

我不认为此功能由.NET包装,因此您必须使用P /
Invoke。

它可能适用于网络文件,也可能不适用于网络文件。根据MSDN:

根据操作系统的基础网络组件和连接的服务器的类型,GetFileInformationByHandle函数可能会失败,返回给定文件的部分信息或完整信息。

快速测试表明,在使用SMB /
Samba连接的Linux系统上,该链接在符号链接上可以按预期(相同的值)工作,但是当使用指向同一文件的不同共享访问文件时,它无法检测到文件相同(
FileIndex相同,但VolumeSerialNumber不同)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号