如何在源代码文件中检测每个JavaDoc块的起止行?

敏锐的

我正在创建一个解析实用程序,以读取(重复的)Java源代码文件,并使用在JavaDoc块中某些位置插入的一些额外信息来重新输出该文件。

第一步是弄清楚每个JavaDoc块的开始和结束位置。下面是我为此编写的代码。

希望对您有所帮助。

敏锐的

这将获取Java源代码文件的路径,并输出每个找到的JavaDoc块的开始和结束行。

   import  java.io.File;
   import  java.io.IOException;
   import  java.util.regex.Pattern;
   import  org.apache.commons.io.FileUtils;
   import  org.apache.commons.io.LineIterator;
   import  xbn.io.RTIOException;
/**
   <P>Prints the start and end line-numbers for all JavaDoc blocks in a Java source-code file. The one and only parameter is the path to the file. This assumes that the JavaDoc open-comment (slash-asterisk-asterisk) is the first non-whitespace on its line. The end comment (asterisk-slash) may be anywhere on the line.</P>

   java PrintJDBlocksStartStopLineNumsXmpl C:\java_code\PrintJDBlocksStartStopLineNumsXmpl.java
 **/
 public class PrintJDBlocksStartStopLineNumsXmpl  {
    /**
       <P>The main function.</P>
     **/
    public static final void main(String[] as_1RqdJavaSourcePath)  {

       //Read command-line parameter
          String sJPath = null;
          try  {
             sJPath = as_1RqdJavaSourcePath[0];
          }  catch(ArrayIndexOutOfBoundsException aibx)  {
             throw  new NullPointerException("Missing one-and-only required parameter: Path to java source-code file.");
          }
          System.out.println("Java source: " + sJPath);

       //Establish line-iterator
          LineIterator li = null;
          try  {
             li = FileUtils.lineIterator(new File(sJPath)); //Throws npx if null
          }  catch(IOException iox)  {
             throw  new RTIOException("PrintJDBlocksStartStopLinesXmpl", iox);
          }
          Pattern pTrmdJDBlockStart = Pattern.compile("^[\\t ]*/\\*\\*");

       String sDD = "..";
       int iLn = 1;
       boolean bInJDBlock = false;
       while(li.hasNext())  {
          String sLn = li.nextLine();
          if(!bInJDBlock)  {
             if(pTrmdJDBlockStart.matcher(sLn).matches())  {
                bInJDBlock = true;
                System.out.print(iLn + sDD);
             }
          }  else if(sLn.indexOf("*/") != -1)  {
             bInJDBlock = false;
             System.out.println(iLn);
          }
          iLn++;
       }
       if(bInJDBlock)  {
          throw  new IllegalStateException("Reach end of file. JavaDoc not closed.");
       }
    }
    /**
       <P>Another one</P>
     **/
    private static final void oneMoreForGoodMeasure()  {
    }
}

输出:

[C:\java_code]java PrintJDBlocksStartStopLineNumsXmpl C:\java_code\PrintJDBlocksStartStopLineNumsXmpl.java
Java source: C:\java_code\PrintJDBlocksStartStopLineNumsXmpl.java
8..12
14..16
54..56

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在代码块中获取预编译的源代码?

来自分类Dev

如何在显示的javadoc代码块中获得泛型?

来自分类Dev

如何在windbg中打印当前源代码行?

来自分类Dev

我们如何在源代码中检测所有指针比较?C ++

来自分类Dev

我们如何在源代码中检测所有指针比较?C ++

来自分类Dev

如何在“ THEN”中打印“ IF”条件的源代码

来自分类Dev

如何在源代码中查找功能

来自分类Dev

如何在“ THEN”中打印“ IF”条件的源代码

来自分类Dev

如何检测异步方法主体中的源代码更改

来自分类Dev

如何在源文件中添加源代码文件作为构建依赖项和/或访问定义?

来自分类Dev

如何在我的javadoc示例中编写块注释?

来自分类Dev

如何在Digital Ocean的源代码管理中包含nginx和gunicorn配置文件?

来自分类Dev

如何在Visual Studio中的项目之间共享C ++源代码文件?

来自分类Dev

如何在特定选定项目内的TFS源代码管理中搜索特定文件?

来自分类Dev

如何在Shell中解析数百个html源代码文件?

来自分类Dev

如何在Xcode注释中添加链接以打开另一个源代码文件?

来自分类Dev

如何在不同的源代码文件中组织格式化程序

来自分类Dev

如何在源代码中包含vim设置,以便以相同方式显示文件?

来自分类Dev

如何在Shell中解析数百个html源代码文件?

来自分类Dev

如何在浏览器中打印php文件(源代码)?

来自分类Dev

如何从许多包含源代码的插件jar文件中生成Javadoc

来自分类Dev

如何从许多包含源代码的插件jar文件中生成Javadoc

来自分类Dev

如何在useminPrepare中为HTML文件中的每个块定义单独的流程?

来自分类Dev

如何在JSF中包含代码块

来自分类Dev

如何在Netezza中运行代码块

来自分类Dev

如何在Elisp中解析代码块?

来自分类Dev

如何在代码块中阻止缩进

来自分类Dev

如何在Kali中安装代码块?

来自分类Dev

如何在Elisp中解析代码块?

Related 相关文章

  1. 1

    如何在代码块中获取预编译的源代码?

  2. 2

    如何在显示的javadoc代码块中获得泛型?

  3. 3

    如何在windbg中打印当前源代码行?

  4. 4

    我们如何在源代码中检测所有指针比较?C ++

  5. 5

    我们如何在源代码中检测所有指针比较?C ++

  6. 6

    如何在“ THEN”中打印“ IF”条件的源代码

  7. 7

    如何在源代码中查找功能

  8. 8

    如何在“ THEN”中打印“ IF”条件的源代码

  9. 9

    如何检测异步方法主体中的源代码更改

  10. 10

    如何在源文件中添加源代码文件作为构建依赖项和/或访问定义?

  11. 11

    如何在我的javadoc示例中编写块注释?

  12. 12

    如何在Digital Ocean的源代码管理中包含nginx和gunicorn配置文件?

  13. 13

    如何在Visual Studio中的项目之间共享C ++源代码文件?

  14. 14

    如何在特定选定项目内的TFS源代码管理中搜索特定文件?

  15. 15

    如何在Shell中解析数百个html源代码文件?

  16. 16

    如何在Xcode注释中添加链接以打开另一个源代码文件?

  17. 17

    如何在不同的源代码文件中组织格式化程序

  18. 18

    如何在源代码中包含vim设置,以便以相同方式显示文件?

  19. 19

    如何在Shell中解析数百个html源代码文件?

  20. 20

    如何在浏览器中打印php文件(源代码)?

  21. 21

    如何从许多包含源代码的插件jar文件中生成Javadoc

  22. 22

    如何从许多包含源代码的插件jar文件中生成Javadoc

  23. 23

    如何在useminPrepare中为HTML文件中的每个块定义单独的流程?

  24. 24

    如何在JSF中包含代码块

  25. 25

    如何在Netezza中运行代码块

  26. 26

    如何在Elisp中解析代码块?

  27. 27

    如何在代码块中阻止缩进

  28. 28

    如何在Kali中安装代码块?

  29. 29

    如何在Elisp中解析代码块?

热门标签

归档