• iOS中读取文件夹下所有文本的行数


    
    #import <Foundation/Foundation.h>
    int codeLineCount(NSString *path)
    {
        
      //1.获得文件管理者
        NSFileManager *mgr = [NSFileManager defaultManager];
        //判断path是文件夹还是文件路径
        BOOL dir = NO; // 标记是否为文件夹
        //这个路径是否存在
        BOOL exist = [mgr fileExistsAtPath:path isDirectory:&dir];
        //3.如果不存在
        if(!exist) return 0;
    
        
        //4路径存在
        if(dir)
        {
           // NSLog(@"是个文件夹");
            //装着当前文件夹下面的所有的内容(文件夹,文件)
            NSArray *array = [mgr contentsOfDirectoryAtPath:path error:nil];
            int count = 0;
            //遍历数组中的所有文件名
            for(NSString *filename in array){
                //子文件(夹)的全路径
                NSString *fullPath = [NSString stringWithFormat:@"%@/%@",path,filename];
                //循环调用
                count += codeLineCount(fullPath);
            }
            return count;
        }
        else
        {
            //判断文件名的扩展名
            NSString *extension = [[path pathExtension] lowercaseString];
            if(!([extension isEqualToString:@"h"]
                 || [extension isEqualToString:@"m"]
                 || [extension isEqualToString:@"c"])
               ){
                //文件的扩展名不是h,而且不是m,而且不是c
                return 0;
            }
            
            //文件
            //1.加载文件内容
            NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
            //2.将文件内容分隔为每一行
            //按
    分隔形成一个字符数组
            NSArray *array = [content componentsSeparatedByString:@"
    "];
        
            NSString *str = [path stringByReplacingOccurrencesOfString:@"/Users/laouhn/Documents/Project" withString:@""];
            NSLog(@"%@ - %ld", str,array.count);
            return (int)array.count;
    
        }
    }
    
    int main(int argc, const char * argv[]) {
    
        int count = codeLineCount(@"/Users/laouhn/Documents/Project");
        
        NSLog(@"%d", count);
        
        return 0;
    }
    
    
    //void test()
    //{
    //    NSString *str = @"jack
    rose
    jim
    jake";
    //    //向文件中写东西
    //    [str writeToFile:@"/Users/laouhn/Desktop/crayons.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
    //    //按字符分隔
    //    NSArray *array = [str componentsSeparatedByString:@"
    "];
    //    
    //    
    //}
    //
  • 相关阅读:
    腾讯云 Centos 配置 JDK & Tomcat & Mysql
    JNI编程新手入门:Java和C++的超简单交互
    关于正则表达式的一些实际应用
    CAJ 转化为PDF
    Latex 大括号后多行输出
    Latex 安装
    Neo4j使用操作
    pip 升级操作
    venue recommendation —— 应用场景/用户分类
    Recbole安装及使用
  • 原文地址:https://www.cnblogs.com/wohaoxue/p/4725435.html
Copyright © 2020-2023  润新知