检查文件是否为Java源文件的好方法

时间:2014-11-03 12:33:04

标签: java file analysis

我有这个代表Java源文件的模型对象。

它有一个像这样的构造函数:

private SourceFile(File file)

我希望这个构造函数能够确保(尽可能多)它所提供的File实际上是一个Java源代码。

我有一个需要大量文本文件的批处理操作。其中一些是Java源代码,我不是区分它们的好方法(除了文件扩展名)。

之前有没有人遇到这种情况,你能否推荐一种检查合理性的好方法(不是有效性,我需要编译它的有效性检查)?

3 个答案:

答案 0 :(得分:2)

我会做两件事:

  1. 检查文件是否以.java
  2. 结尾
  3. 检查文件是否声明与文件同名的class(请参阅here)。

答案 1 :(得分:1)

这取决于你想要的准确程度。如果你想要100%,你必须编译它。如果你对低价感到满意,可以查看可打印的字符。通过关键工作检查可以达到合理的水平。等等...

答案 2 :(得分:0)

使用javaparser,在给定链接wiki上如何使用它。但是在Java 1.6中,编译器在JDK中有一个API构建,通过它你可以访问results of the Java parser