/********************************************************/ /* BinDrv library example */ /* ====================== */ /* */ /* file bdrv.java */ /* `````````````` */ /* Example of use of BinDrv */ /* */ /* (c) 2011 Fair Isaac Corporation */ /* author: Y. Colombani, 2011 */ /********************************************************/ import java.io.*; import java.nio.*; import com.dashoptimization.*; public class bdrv { public static void main(String[] args) throws Exception { ByteBuffer buf=ByteBuffer.allocate(128); writeIt(); readIt(); writeIt(buf); buf.rewind(); readIt(buf); } /*****************************/ /* Create a BinDrv data file */ /*****************************/ static void writeIt() throws IOException { BinDrvWriter bdrv; FileOutputStream f; byte[] data={1,2,3,4,5,6,7,8}; f=new FileOutputStream("bindata"); bdrv=new BinDrvWriter(f); bdrv.putControl(bdrv.CTRL_LABEL).put("A"); bdrv.putControl(bdrv.CTRL_OPENLST); bdrv.putControl(bdrv.CTRL_OPENNDX).put(1).putControl(bdrv.CTRL_CLOSENDX); bdrv.put(0,45).put(-31,02).put(-123); bdrv.putControl(bdrv.CTRL_CLOSELST); bdrv.putControl(bdrv.CTRL_LABEL).put("B").put(true); bdrv.putControl(bdrv.CTRL_LABEL).put("C").put("sometext"); bdrv.putControl(bdrv.CTRL_LABEL).put("D").put(Long.MAX_VALUE/2); bdrv.putControl(bdrv.CTRL_LABEL).put("E").put(data); f.close(); } /***************************************/ /* Read and display a BinDrv data file */ /***************************************/ static void readIt() throws IOException { BinDrvReader bdrv; FileInputStream f; f=new FileInputStream("bindata"); bdrv=new BinDrvReader(f); while(bdrv.nextToken()>=0) { switch(bdrv.nextToken()) { case BinDrvReader.TYP_INT: System.out.print(" "+bdrv.getInt()); break; case BinDrvReader.TYP_DATA: { byte[] data; data=bdrv.getData(); System.out.print(" "); if(data!=null) { for(int i=0;i=0) { switch(BinDrvReader.nextToken(buf)) { case BinDrvReader.TYP_INT: System.out.print(" "+BinDrvReader.getInt(buf)); break; case BinDrvReader.TYP_DATA: { byte[] data; data=BinDrvReader.getData(buf); System.out.print(" "); if(data!=null) { for(int i=0;i