Linux路径中双斜杠//的问题

如果有个一个需求:
告诉了你根目录的绝对路径是"/rootdir",这个根目录下的一个子文件名叫"subfile"
那么要求你写一个函数返回这个子文件的绝对路径。
很简单这样写:

String buildAbsolutePath(String rootPath,String subName){
	return String.format("%s/%s",rootPath,subName);
}

对吗?
第一遍看,对啊没毛病!第二遍看,如果rootPath="/“呢?那不就返回”//subName"了吗,这样还对吗?
不管你有没有愣住,反正我是愣住了

最终结果:上面的写法是没有错误的,就算rootPath="/",也是正确的
不信?
你在电脑上试试 :

cd //bin

没毛病,能运行的。那这样呢:

cd ////////////bin

没毛病,还是能运行。
那这是为什么?
因为这个是等价的:

/usr/bin
/usr/./bin
/usr//bin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章