欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#計(jì)算兩個(gè)文件的相對目錄算法的實(shí)例代碼

 更新時(shí)間:2013年09月06日 15:50:54   作者:  
現(xiàn)在已知兩個(gè)文件相對于網(wǎng)站根目錄的路徑,如何計(jì)算相對路徑呢,有需要的朋友可以參考一下

樓主大菜鳥一只,第一次寫技術(shù)博客,如果有概念錯(cuò)誤或代碼不規(guī)范的地方,還請各位多多批評指正。話不多說,來看題:

前一陣子開發(fā)了一個(gè)用戶控件,里面調(diào)用了很多css,js等資源文件,而引用控件的頁面所在目錄是不同的。問題出來了:如果目錄不同,那么控件里引用css,js資源文件的路徑也會相應(yīng)變化?,F(xiàn)在已知兩個(gè)文件相對于網(wǎng)站根目錄的路徑,如何計(jì)算相對路徑呢?請看代碼:

復(fù)制代碼 代碼如下:

public string GetRelativePath(string path1, string path2)
{
            string[] path1Array = path1.Split('/');
            string[] path2Array = path2.Split('/');
            //
            int s = path1Array.Length >= path2Array.Length ? path2Array.Length : path1Array.Length;
            //兩個(gè)目錄最底層的共用目錄索引
            int closestRootIndex = -1;
            for (int i = 0; i < s; i++)
            {
                if (path1Array[i] == path2Array[i])
                {
                    closestRootIndex = i;
                }
                else
                {
                    break;
                }
            }
            //由path1計(jì)算 ‘../'部分
            string path1Depth = "";
            for (int i = 0; i < path1Array.Length; i++)
            {
                if (i > closestRootIndex + 1)
                {
                    path1Depth += "../";
                }
            }
            //由path2計(jì)算 ‘../'后面的目錄
            string path2Depth = "";
            for (int i = closestRootIndex + 1; i < path2Array.Length; i++)
            {
                path2Depth += "/" + path2Array[i];
            }
            path2Depth = path2Depth.Substring(1);

            return path1Depth + path2Depth;
}

我的算法,第一步算出兩個(gè)目錄的最底層父目錄,第二步算出目錄1需要向上級目錄返回次數(shù)(../個(gè)數(shù)),第三步算出最底層父目錄到目錄2的相對路徑,第四步把第二步和第三步的結(jié)果相加就是我們要的答案了。

調(diào)用部分:

復(fù)制代碼 代碼如下:

string path1 = "/Manage/Permissions/RoleManage.aspx";
string path2 = "/Manage/plugin/jquery-easyui/jquery.easyui.min.js";
string result = GetRelativePath(path1, path2);

得到結(jié)果:../plugin/jquery-easyui/jquery.easyui.min.js

相關(guān)文章

最新評論