• 07-综合练习


     1、计算单个文件的代码行数

    思路:

    (1)定义一个函数,功能:载入文件内容,函数的参数为文件的全路径;

       实现一下打印文件内容的功能

    (2)用 把文件内容切割为每一行

       实现一下打印文件每一行内容的功能

    (3)调用函数,求得行数

    代码如下:

     1 #import <Foundation/Foundation.h>
     2 // 计算单个文件的代码行数
     3 /*
     4  path: 文件的全路径
     5  返回值 int: 代码行数
     6  */
     7 NSUInteger codeLineCount(NSString *path)
     8 {
     9     // 1.加载文件内容
    10     NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    11     // 2.将文件内容切割为每一行
    12     //   把文件内容按
    切割
    13     NSArray *array = [content componentsSeparatedByString:@"
    "];
    14     return array.count;
    15 }
    16 int main(int argc, const char * argv[])
    17 {
    18     NSString *path = @"/Users/cherish/Desktop/学习/08-数组/03-数组的访问和初始化/main.c";
    19     NSUInteger count = codeLineCount(path);
    20     NSLog(@"count = %ld", count);
    21     return 0;
    22 }

    分析:

    (1)第10行载入文件内容,用到了NSString创建里面将文件内容写入字符串的知识:  

    // 载入文件内容
    NSString *content = [NSString stringWithContentsOfFile:path Encoding NSUTF8StringEcoding error: nil];

    (2)将文件导入后,我们要计算文件的行数,需要一个标志来代表每一行。由于文件内容都是以 换行,我们使用一个方法来完成用 切割文件内容:

    // 表示将文件内容用
    切割为每一行
    NSArray *array = [content componentsSeparatedByString:@"
    "];

    输出结果为:

  • 相关阅读:
    测试 多线程 实现 callable 带返回值
    给定一个 hashMap 最终输出最大值的键
    正则判断输入的字符(英文、数字、空格、其他)的个数
    当返回值为json字符串时 如何获得其中的json数组
    thread run 和 start 的区别
    docker 构建dockerfile
    jsonp 跨域
    springsession 实现session 共享
    通过反射获得 spring 的 RequestMapping value值
    redis 集群搭建 以及 报错解决
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/4005819.html
Copyright © 2020-2023  润新知