今天下午,吃饱了没事干,突然想写点什么,于是不由自主地想起了某件往事,当年在做XXX的时候好像有一个功能没有做出来。据说算法很复杂,当时就没有研究。
不过,今天想到用递归的方法,把这个功能大致做出来了,虽然称不上完美,至少还是比较简单的,而且代码也不多,才几行。
先给大家看看运行结果,如下图:
其实我说的这么神秘,也没什么,就是这个,把树形的目录结构输出到一个TXT文件中。
其实当初的项目要求比这个更复杂,所以我当时没想到解决方法,不过,像上图这样,虽说远没有达标,不过,至少也不算很难看。
原理就是通过递归的方式输出目录的名字,而目录前面的空格数量,是随着目录层次的加深同步累加,才做成这种缩进的效果。
下面我贴一下代码。
/// <summary>
/// 递归,枚举并输出所有子目录
/// </summary>
/// <param name="path">父目录全路径</param>
/// <param name="spacestr">空格字符串</param>
/// <param name="sw">StreamWriter对象</param>
v