1.分解:split函数,如string s = "c:\a\j\l\k\m\n",则各级目录存到数组中用string[] ary = s.split(@"\".tochararray());
2.保存到数据表中:这个方法就太多了,可以用自增列+parentID(上级目录的自增标识),缺点:跟链表一样,要反复的查才能找到头或尾;或者用N位一级的方法表示,N取决于同级子目录个数,具体如下:
以你上面担到的数据为例(每级一位)
level name
a c:
a0 a
a00 b
a01 e
a02 j
a000 c
a010 f
a020 l
a0100 g
a0200 k
a02000 m
a020000 n
这种方法随意一个level就知道是第几级(N的倍数),直接上级(前缀相同),所有下级(以level为前缀)