我必须开发一个小应用来比较自动生成的文件夹。它必须比较文件夹,子文件夹和文件内容。问题是这个应用程序需要从他的计算机上的用户启动,以手动检查更改,或自动与ANT nightlies一起启动。在第一种情况下,结果显示为Swing GUI中的表。但在另一种情况下,它必须创建一个文件来放置结果(格式无关紧要,XML,CSV,...)。
任何人都有一些提示,或指向教程的链接?
答案 0 :(得分:2)
您可能想要添加一些在ui和文件导出之间切换的命令行选项,例如--gui
或--export=[filename]
。您可以使用Apache Commons CLI。
答案 1 :(得分:0)
另一种方法是创建一组执行任务的类,并返回一组值,然后可以将这些值写入磁盘或显示在GUI中。即,引擎和两个前端(GUI和CLI)。
例如:
public interface DirectoryComparer {
CompareResult performCompare(Directory dir1, Directory dir2);
public static interface CompareResult {
//...things here that you need, such as, file or dir difference, etc
Iterable<File> getFileDiff();
Iterable<Directory> getDirectoryDiff();
}
}
然后,GUI客户端将只使用DirectoryComparer
来显示结果,CLI客户端会将这些结果写入一个或三个文件。但这两个客户完全是分开的,可以单独维护。