最近工作上有功能需求解析MIB文件,在网上找了一圈之后发现都是不全的,很多论坛的提问及回答都是很多年前的,最后经过摸索找到了完整的解析方法,因此做个记录,也希望给其他需要的人一个帮助。
以下是我的java代码及一些小细节:
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import com.xxx.bean.MmMib;
import net.percederberg.mibble.Mib;
import net.percederberg.mibble.MibLoader;
import net.percederberg.mibble.MibLoaderException;
import net.percederberg.mibble.MibValue;
import net.percederberg.mibble.MibValueSymbol;
import net.percederberg.mibble.snmp.SnmpObjectType;
public class MibFileParse {
@SuppressWarnings( { "rawtypes" })
public List<MmMib> getMib(String filePath) throws IOException, MibLoaderException {
File file = new File(filePath);
MibLoader ml = new MibLoader();
Mib mib = ml.load(file);
String mibName = mib.getName();