在做Asn.1文件解析时采用的是com.chaosinmotion.asn1包。但实际使用时发现不支持以流的方式读取文件,这个可不能忍受,如果解析文件小倒不要紧,但遇到超大的文件,这岂不把内存撑爆了?
利用Java流的特性,我自行实现了ByteBufferInputStream:
使用方式如下:
BerInputStream in = new BerInputStream(new ByteBufferInputStream(fs.open(file)));
这样就再也不怕待解析文件过大的问题了。