想要动态加载指定文件夹下所有的JDBC驱动,用于建立DB连接。
有三个任务:
1.遍历文件夹,找出所有JAR文件:这个简单,先不管
2.遍历JAR文件中所有的项,找出CLASS文件
3.判断CLASS文件是否是Driver的子类
只剩2,3了.一步一步做:
遍历JAR文件中所有的项,找出CLASS文件
遍历是一回事,找出CLASS文件是另一件事,我还有可能遍历是为了解压缩,于是抽象遍历功能:
还有可能ZIP文件中还有ZIP.我要递归,于是加一个isRecursion判断一下
其中的IZipEntryProcessor就可以用来做不同的事情:
下一步:动态加载,找出指定的类,本着能抄就抄一点的态度,有了以下代码:(好多年前的代码了,来源:http://topic.csdn.net/t/20050601/15/4051576.html)
最后,测试一下:
正确运行,OK
源代码差不多就这些了,不上传了