有没有一种方法可以确定文件路径是否嵌套在.Net中的目录路径中
当文件夹都由路径指定时,我想确定文件夹是否包含文件。
乍一看这似乎很简单。只需检查文件路径是否以目录路径开头。然而,这种天真的检查忽略了几个问题:
- 路径可能是相对或绝对的
- 路径可能使用备用目录分隔符
- 路径可能使用不一致的大小写,这取决于操作系统
- 不同的路径可能引用相同的位置
- 可能还有更多我不知道的问题了解
框架中是否有现有方法,还是我必须编写自己的方法?
I want to determine if a folder contains a file, when both are specified by a path.
At first glance this seems simple. Just check if the file path starts with the directory path. However, this naive check ignores several issues:
- Paths may be relative or absolute
- Paths may use the alternate directory separator
- Paths may use inconsistent casing, which matters depending on the OS
- Different paths may refer to the same location
- Probably some more that I don't know about
Is there an existing method in the framework, or do I have to write my own?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,没有内置的 .NET 方法可以执行此操作,但以下函数应该使用 FileInfo 和 DirectoryInfo 类来完成此操作:
As far as I know, there is no built-in .NET method to do this, but the following function should accomplish this using the FileInfo and DirectoryInfo classes:
我不确定它是否适用于所有情况,但我建议查看 Path.GetFullPath。
Quote: 返回指定路径字符串的绝对路径。
I'm not sure if it'll work in all cases, but I'd suggest looking at Path.GetFullPath.
Quote: Returns the absolute path for the specified path string.