主题:如何判断两个路径相同啊?
rainboat8
[专家分:30] 发布于 2011-09-24 21:36:00
如题,遇到这样的问题,得到两个路径,明明知道一样,可不知道怎么判断,用字符串吧存在大小写问题,愁啊
回复列表 (共2个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2011-09-26 09:08:00
看什么操作系统了。
Linux 不熟悉。
windows 操作系统还要复杂,有长路径,短路径。
比如 C:\aaaaaaaaaaaaaAAA\ 和 c:\aaaaaaaaaaaaaBBB\
有时候会得到短路径 c:\aaaaaa~1 和 c:\aaaaaa~2
你仅仅通过字符串比较,很难确定 c:\aaaaaa~2 和 c:\aaaaaaaaaaCCC 是不是同一个路径。
有一个比较笨的办法
在 c:\aaaaaa~2\temp.txt 里写一个 1-10000 之间的随机整数。
读取 c:\aaaaaaaaaaCCC\temp.txt 里面的数
如果读到的数 == 刚才写入的,认为两个路径是一样的。
最后删除 temp.txt
板凳
rainboat8 [专家分:30] 发布于 2011-09-26 09:51:00
[quote]看什么操作系统了。
Linux 不熟悉。
windows 操作系统还要复杂,有长路径,短路径。
比如 C:\aaaaaaaaaaaaaAAA\ 和 c:\aaaaaaaaaaaaaBBB\
有时候会得到短路径 c:\aaaaaa~1 和 c:\aaaaaa~2
你仅仅通过字符串比较,很难确定 c:\aaaaaa~2 和 c:\aaaaaaaaaaCCC 是不是同一个路径。
有一个比较笨的办法
在 c:\aaaaaa~2\temp.txt 里写一个 1-10000 之间的随机整数。
读取 c:\aaaaaaaaaaCCC\temp.txt 里面的数
如果读到的数 == 刚才写入的,认为两个路径是一样的。
最后删除 temp.txt[/quote]
我原来想的也是在一个路径下建个不常用的文件名,然后从另一个路径判断是否存在这个文件,但总觉的不地道。唉,不行就只好用这个方法了,谢谢您了
我来回复