精华内容
下载资源
问答
  • 如何统计程序代码行数
    千次阅读
    2022-06-28 16:27:40
    find . "(" -name "*" ")" -print | xargs wc -l
    

     1、打开终端,用cd命令 定位到工程所在的目录。

    2、调用以下命令即可把每个源代码文件行数及总数统计出来

    (1)包括空行(会列出每个文件的代码行数):

    find . "(" -name "*.m" -or -name "*.mm" -or -name "*.c" -or -name "*.h" -or -name "*.xib" -or -name "*.pch" ")" -print | xargs wc -l

    (2)不包括空行(只会出现总行数):

    find . "(" -name "*.m" -or -name "*.mm" -or -name "*.c" -or -name "*.h" -or -name "*.xib" -or -name "*.pch" ")" -print | xargs grep -v "^$"|wc -l

    //如果有其它.后缀文件可以继续添加如-or -name "*.java"

    3、回车

    grep -v "^$"

    去掉空行注释也在代码行数统计之内

    linux之管道符详解

     linux命令中 “|” 管道符号

     linux中的wc命令

    Linux管道 

    xargs命令详解 

     

    更多相关内容
  • 程序代码行数统计

    2021-11-01 08:51:45
    程序写完了,提交著作权的时候不知道代码行数是多少怎么办? 介绍 软件名称 兼容系统 下载地址 代码统计工具 Windows 软件下载 下面我们开始教程 打开主应用程序 点击加号添加程序项目所在的目录 点击...

    程序写完了,提交著作权的时候不知道代码行数是多少怎么办?

    介绍

    软件名称兼容系统下载地址
    代码统计工具Windows软件下载

    下面我们开始教程

    打开主应用程序
    

    在这里插入图片描述

    点击加号添加程序项目所在的目录
    

    在这里插入图片描述

    点击按钮选择需要统计文件的文件后缀,看个人需求如果想全部统计就选择全部
    

    在这里插入图片描述

    点击左上角 文件→开始统计
    

    在这里插入图片描述

    统计完成后会告诉你代码总行数
    

    在这里插入图片描述

    展开全文
  • 一个统计代码行数的小工具,绿色,支持多种代码格式:xml,vb,c,sql,h,sh,dfm,java,php,asp,txt,jsp,html,等等。
  • Java代码行数统计程序

    2021-03-16 06:30:08
    摘要:Java源码,文字字符,代码统计 使用Java实现工程文件中的代码行数统计程序,支持整个工程的代码行数统计,并附上统计程序的源代码,感兴趣的正好可以学习一下哦。运行效果如下:  ----------------------------...
  • 主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • java统计代码行数

    2022-06-30 15:40:57
    统计代码行数

    公司有个奇葩要求,统计代码行数,写了个java代码用来统计代码行数,空行,注释之类的。

    仅供参考。

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    
    /**
     * @Auther: tianyuan
     * @Description:
     * @Date: 2022/6/30
     */
    public class CountCodeLines {
        private static long nullLines = 0; // 空行
    
        private static long annoLines = 0; // 注释行
    
        private static long codeLines = 0; // 代码行
    
        private static long configLines = 0; // 配置文件行行
    
        private static long allLines = 0; // 总行
    
        public static void main(String[] args) {
            CountCodeLines ccl = new CountCodeLines();
            ccl.listFile("D:\\Project\\xxx");
            System.out.println("空行:" + nullLines);
            System.out.println("注释行:" + annoLines);
            System.out.println("代码行:" + codeLines);
            System.out.println("配置文件行:" + configLines);
            System.out.println("总行:" + allLines);
        }
    
        /**
         * 循环文件夹统计
         * @param filePath
         */
        private void listFile(String filePath) {
            File f = new File(filePath);
            File[] childs = f.listFiles();
    
            for (int i = 0; i < childs.length; i++) {
                if (!childs[i].isDirectory()) {
                    if (childs[i].getName().matches(".*\\.java$")
                        ||childs[i].getName().endsWith(".yml")
                        || childs[i].getName().endsWith(".xml")
    //                    || childs[i].getName().endsWith(".properties")
                    ) {
                        System.out.println(childs[i].getName());
                        sumCode(childs[i]);
                    }
                }else {
                    listFile(childs[i].getPath());
                }
            }
        }
    
        /**
         * 统计代码行数
         * @param file
         */
        private void sumCode(File file){
            BufferedReader br = null;
            try{
                br = new BufferedReader(new FileReader(file));
                String line = "";
                while ((line = br.readLine()) != null){
                    allLines++;
                    if(file.getName().endsWith(".yml")
                        || file.getName().endsWith(".xml")
                        || file.getName().endsWith(".properties")){
                        //配置文件
                        configLines++;
                    }else {
                        //java文件
                        String trimStr = line.trim();
                        if (trimStr.length() == 0){
                            //空行
                            nullLines++;
                        }else if (trimStr.startsWith("//")
                                || trimStr.startsWith("/**")
                                || trimStr.startsWith("*")
                                || trimStr.startsWith("*/")
                                || trimStr.startsWith("/*")
                        ){
                            annoLines++;
                        }else {
                            codeLines++;
                        }
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }

    执行结果:

     

    展开全文
  • 文件行数统计程序代码
  • 主要介绍了python实现统计代码行数的方法,涉及Python中os模块及codecs模块的相关使用技巧,需要的朋友可以参考下
  • 该文主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值。具体如下:本文中的两个函数1)用于统计扩展名为 .h .c .cpp .cs 文件的代码行数...

    该文主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值。

    具体如下:

    本文中的两个函数

    1)用于统计扩展名为 .h .c .cpp .cs 文件的代码行数

    public static int LinesOfCode(string filename)

    2)用于递归统计一个文件夹内所有扩展名为 .h .c .cpp .cs 文件的代码行数

    public static int LinesOfFolder(string foldername)

    一、什么样的情况算一行代码

    需要注意如下几点:

    1)如果一行为空,则不算作一行代码。在字符串中的空行除外,如:

    Console.WriteLine(@"fasfew

    fewafa");

    2)Windows中的换行为\r\n,Linux中的换行为\n,因此判断隔行可以统一以\n计

    (r:Carriage Return,回车;n:Linefeed,换行)

    因此,判断算法采用以下步骤:

    ① 遇到' '、'\r'、'\t'是无效字符,直接略过

    ② 遇到'\n',如果该行有有效字符,则认为该行有代码,否则认为没有

    ③ 遇到字符'"',则字符串开始,直到找到下一个字符'"',中间忽略任何字符。注意字符如果找到的'"'前有奇数个"\",则跳过继续搜索。如果遇到'\n',则按代码行数自增1

    ④ 遇到形如 /.../ 的注释,找到'/'和''相连的情况,则继续找''和'/'相连的情况。中间若有'\n',则看注释开始前该行是否有效,有效则算一行,无效则不算

    ⑤ 遇到形如 //... 的注释,则看注释开始前该行是否有效,有效则算一行,无效则不算

    ⑥ 遍历完整个文件后,由于最后一行可能不以'\n'结尾,因此遍历完毕后最后一行有没有有效字符,有则最后一行算作一行,没有则不算

    二、查看文件中的代码行数

    ///

    /// 检测一个C代码文件中的有效代码行数

    ///

    /// 文件名

    /// 代码行数

    public static int LinesOfCode(string filename)

    {

    System.IO.StreamReader sr = System.IO.File.OpenText(filename);

    string s = sr.ReadToEnd();

    sr.Close();

    bool isLine = false; //一行中拥有有效字符时为true,该行可记入代码行数

    bool isCommitLf = false; //注释/*...*/中出现至少一个折行时为true

    int lines = 0; //代码行数统计

    for (int i = 0; i < s.Length; i++)

    {

    //无效字符

    if (s[i] == ' ' || s[i] == '\r' || s[i] == '\t')

    {

    continue;

    }

    //搜索到换行,若该行有有效字符

    if (s[i] == '\n')

    {

    if (isLine)

    {

    lines++;

    isLine = false;

    }

    continue;

    }

    //字符串,占多少行按多少行算

    if (s[i] == '\"')

    {

    while (true)

    {

    i++;

    //如果文件遍历完毕则强行中止

    if (i >= s.Length)

    {

    break;

    }

    //再次遇到字符'"'且前方没有或有偶数个'//'时,中止循环并退出

    if (s[i] == '\"')

    {

    int sign = 0, counter = 0;

    while (true)

    {

    sign++;

    if (i - sign < 0)

    {

    break;

    }

    else if (s[i - sign] == '\\')

    {

    counter++;

    }

    else

    {

    break;

    }

    }

    if (counter % 2 == 0)

    {

    break;

    }

    }

    //字符串中的换行,直接算作一行代码

    if (s[i] == '\n')

    {

    lines++;

    isLine = true;

    }

    }

    isLine = true;

    continue;

    }

    //遇到形如 /*...*/ 的注释

    if (s[i] == '/' && i < s.Length - 1)

    {

    if (s[i + 1] == '*')

    {

    i++;

    while (true)

    {

    i++;

    //如果文件遍历完毕则强行中止

    if (i >= s.Length)

    {

    break;

    }

    if (s[i] == '\n')

    {

    if (isCommitLf == false)

    {

    if (isLine == true)

    {

    lines++;

    isLine = false;

    }

    isCommitLf = true;

    }

    }

    if (s[i] == '*' && i < s.Length - 1)

    {

    if (s[i + 1] == '/')

    {

    i++;

    break;

    }

    }

    }

    isCommitLf = false;

    continue;

    }

    }

    //遇到形如 // 的注释

    if (s[i] == '/' && i < s.Length - 1 && s[i + 1] == '/')

    {

    if (isLine == true)

    {

    lines++;

    isLine = false;

    }

    while (true)

    {

    i++;

    if (i >= s.Length || s[i] == '\n')

    {

    break;

    }

    }

    continue;

    }

    //该行有了有效字符,算作一行

    isLine = true;

    }

    //最后一行可能没有字符'\n'结尾

    if (isLine)

    {

    lines++;

    }

    return lines;

    }

    三、查看文件夹中所有代码文件的代码行数

    ///

    /// 检测一个文件夹中所有C代码的行数

    ///

    /// 文件夹名称

    /// 代码行数

    public static int LinesOfFolder(string foldername)

    {

    //行数统计

    int lines = 0;

    //文件夹信息

    System.IO.DirectoryInfo dif = new System.IO.DirectoryInfo(foldername);

    //遍历文件夹中的各子文件夹

    foreach (System.IO.DirectoryInfo di in dif.GetDirectories())

    {

    lines += LinesOfFolder(di.FullName);

    }

    //统计本文件夹中C语言文件代码

    foreach (System.IO.FileInfo f in dif.GetFiles())

    {

    if (f.Extension == ".cs" || f.Extension == ".cpp" ||

    f.Extension == ".c" || f.Extension == ".h")

    {

    lines += LinesOfCode(f.FullName);

    }

    }

    return lines;

    }

    四、Main函数

    输入命令 checkfile:文件名 或 checkfolder:文件夹路径 查询

    static void Main(string[] args)

    {

    Console.WriteLine("请输入要统计的文件或文件夹");

    Console.WriteLine("输入示例:checkfile:xxx / checkfolder:xxx");

    try

    {

    string order = Console.ReadLine();

    string[] temp = order.Split(':');

    if (temp.Length < 2)

    {

    Console.WriteLine("语法错误,程序结束");

    }

    switch (temp[0])

    {

    case "checkfile":

    {

    int count = LinesOfCode(order.Substring(10).Trim());

    Console.WriteLine("共有代码 " + count + " 行");

    } break;

    case "checkfolder":

    {

    int count = LinesOfFolder(order.Substring(12).Trim());

    Console.WriteLine("共有代码 " + count + " 行");

    } break;

    default: Console.WriteLine("未知命令"); break;

    }

    }

    catch (Exception ex)

    {

    Console.WriteLine(ex.Message);

    }

    Console.ReadLine();

    }

    展开全文
  • 摘要:VC/C++源码,字符处理,代码统计 VC++编写一款统计有效代码行数的代码计算器,可以计算出C++、C语言代码的有效行数,包括有效代码行数、注释行数、空白行数。程序编译后的运行界面如上所示。
  • 基于DELPHI的代码行数统计工具..rar
  • CalcRowCnt程序源码,统计VC++工程的源代码行数,可选择是否统计空行,是否统计注释行。 运行环境:Windows/Visual C/C++
  • 代码行统计小工具,支持递归查询。统计内容包括:代码行数、注释行数、空行数、总行数等。网上下载的,与大家分享。来源查看程序,关于
  • 如果想要统计哪个文件的代码行数,切换路径至该文件,输入命令行:find . “(” -name “" “)” -print | xargs wc -l即可。(如:统计src文件下的代码行数,则cd src后find . “(” -name "” “)” -print | ...
  • 统计代码行数的方法梳理

    千次阅读 2018-08-10 13:28:10
    amp;utm_medium=referral 在日常运维工作中,会碰到对一项项目下的代码行数进行统计的需求,下面对代码行数的统计方法进行...1)最简单的是使用wc -l直接进行代码行数统计。(wc的几个参数的解释:-c 统计字节数;...
  • iOS 统计代码行数

    千次阅读 2021-12-15 14:50:08
    iOS 统计代码行数
  • 程序用于统计代码行数,可返回文件代码行、空白行、注释行的数量 """ import os def count_line_num(flie_path, single_line_annotation='#', multi_line_annotation_start=('"""', "'''"), multi_line_...
  • 统计python代码行数小工具统计python代码行数小工具[var1]1 定义统计代码行的函数(实现算法)声明变量分别存储文件个数、代码总行数、空行数、注释行数使用os.walk遍历整个目录使用for file_name in files,拿到每个...
  • 不过有很简单的办法让这个程序更加通用,我介绍下运行此程序前的前期准备.首先, 将所有代码文件放置到同一个空文件夹中.选定所有代码,重命名为1.于是有了下面的效果:所有文件都是排列好的了,这样方便我操作.下面贴...
  • python 统计代码行数简单实例 送测的时候,发现需要统计代码行数 于是写了个小程序统计自己的代码的行数。 #calclate_code_lines.py import os def afileline(f_path): res = 0 f = open(f_path) for lines in ...
  • svn 统计代码行数

    2020-06-24 17:16:34
    1、Svn没有统计功能需要下载统计插件 http://www.statsvn.org/downloads.html 2、确认svn安装了命令行工具 E:\ $ svn log svn: E155007: 'E:\' is not a working copy 未安装的话安装一下 3、在工作目录(有...
  • 快来算一算你写了多少行代码前面我们一直在介绍图形界面,这次换个口味,在命令行实现代码行数统计程序。本程序共 135 行,其中 18 行空行、110 行有效代码、7行注释,大小为 7.71 KB。主要思路通过 argparse 设置四...
  • 统计C++代码行数

    千次阅读 2020-11-25 18:01:05
    find . "(" -name "*.cpp" -or -name "*.h" ")" -print | xargs wc -l 在项目目录下执行以上命令,统计C++的.h和.cpp文件中的代码行数
  • 可以自动统计指定文件或目录的C, C++, 汇编程序代码行数, 并生成文本文件格式的统计报告.
  • 代码行数统计工具

    2018-09-06 17:14:47
    可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进行详细的统计,可以准确的分析出程序代码行、注释行和空白行的行数程序会自动根据你选择的文件类型选择相应的统计方式,并将...
  • Idea如何统计代码行数

    2021-07-23 15:48:40
    申请软件著作权需要统计代码行数,因此将统计过程记录下来。 1、下载Statistic 插件
  • 给大家讲解了下作为程序员如何统计自己写过的代码行数,这个也是证明自己程序员能力的一个表现,一起来看下。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 189,615
精华内容 75,846
热门标签
关键字:

如何统计程序代码行数

友情链接: StandartFootball.rar