天天看点

算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数

1、先解决如何获取一个文件的代码行数

一开始对于这个问题,我的思路就回荡在:1字符串子字符串的判断 2循环直到结束的想法 3将原来是"\n"替换掉之类的想法

一个问题总会有多种解决方案,下面的解决方案来自mj基础视频里讲过的方案,挺不错的,基本思路是:通过"\n"拆分字符串到oc数组中,最后判断数组的长度即可。

虽然有时候我们可能想不到更好的方法,但是也不能阻拦我们去积累好的方法,所以纪录在此博文中。

学习来自 mj 的某个基础视频

算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数

2、然后进一步考虑一个目录下的所有文件以及目录下的子文件的行数

思路:<1>这样的话,首先要处理 path 可以是文件所在目录,也可以是文件夹所在的目录。所以就需要nsfilemanager对象来处理文件和文件夹。

  nsfilemanager可以判断当前目录是对应的文件还是文件夹。

<2>当如果是文件的话,就执行上面的程序,输出文件的行数。

<3>当如果是文件夹的话,就需要继续执行方法<1>所以这里就需要用递归来处理这种需要重复执行包含的内容。

下面就直接给出mj的代码:

算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数

3、然后进一步解决的问题是:文件为后缀.h .m .c的文本

算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数

继续阅读