【发布时间】:2009-06-10 00:55:43
【问题描述】:
我正在编写一个解析日志文件的 Java 类。编译后的 .class 文件需要加载到第 3 方监控平台 (eG) 中进行部署和调用。不幸的是,第 3 方平台只允许我上传单个 .class 文件。
我当前的实现具有在符合文件掩码 (*CJL*.log) 的文件夹中查找“最新”文件的功能,并使用 2 个匿名类,一个用于过滤目录列表,另一个用于对列表进行排序基于 ModifiedDt 的文件。当我编译它时,我得到了 3 个无法部署的 .class 文件(Monitor.class、Monitor$1.class、Monitor$2.class)。
是否可以将匿名类编译成单个 .class 文件以部署到 3rd 方监控平台?
我已附上“查找最新文件”功能的代码以供说明。
private String FindLatestFile(String folderPath) {
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
if (name.endsWith(".log")
& name.contains("CJL"))
return true;
else
return false;
}
};
File dir = new File(folderPath);
File[] files = dir.listFiles(filter);
if (files.length > 0) {
Arrays.sort(files, new Comparator<File>() {
public int compare(File f1, File f2) {
return Long.valueOf(f1.lastModified()).compareTo(
f2.lastModified());
}
});
File newest = files[files.length - 1];
return newest.toString;
} else {
return "";
}
}
我想可以通过获取原始文件列表并自己进行过滤/排序来以“愚蠢”的方式执行此操作,但我担心这不会有效。
有什么想法吗?
迈克尔
【问题讨论】:
标签: java file compiler-construction