我有这个代表Java源文件的模型对象。
它有一个像这样的构造函数:
private SourceFile(File file)
我希望这个构造函数能够确保(尽可能多)它所提供的File
实际上是一个Java源代码。
我有一个需要大量文本文件的批处理操作。其中一些是Java源代码,我不是区分它们的好方法(除了文件扩展名)。
之前有没有人遇到这种情况,你能否推荐一种检查合理性的好方法(不是有效性,我需要编译它的有效性检查)?
答案 0 :(得分:2)
我会做两件事:
.java
。class
(请参阅here)。答案 1 :(得分:1)
这取决于你想要的准确程度。如果你想要100%,你必须编译它。如果你对低价感到满意,可以查看可打印的字符。通过关键工作检查可以达到合理的水平。等等...
答案 2 :(得分:0)
使用javaparser,在给定链接wiki上如何使用它。但是在Java 1.6中,编译器在JDK中有一个API构建,通过它你可以访问results of the Java parser。